devsound/a3fdevsound/inc/mmfaudiosvrservice.h
changeset 0 40261b775718
equal deleted inserted replaced
-1:000000000000 0:40261b775718
       
     1 /*
       
     2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     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".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef MMFAUDIOSVRSERVICE_H
       
    21 #define MMFAUDIOSVRSERVICE_H
       
    22 
       
    23 /**
       
    24 @publishedPartner 
       
    25 @file
       
    26 @released
       
    27 */
       
    28 
       
    29 //  INCLUDES
       
    30 
       
    31 #include <ecom/ecom.h>
       
    32 #include <badesca.h>
       
    33 
       
    34 
       
    35 /**
       
    36 This is the interface for all audio service 
       
    37 plugins. So Each Service plugin has to implement this interface.
       
    38 */
       
    39 class MAudioSvrService
       
    40 	{	
       
    41 public:
       
    42 	/**
       
    43 	This method is used to pass a destructor key for ECom. The passed UID must be retained for the lifetime 
       
    44 	of the plugin and, on a subsequent call to Release(),REComSession::DestroyedImplementation() must be 
       
    45 	called by the plugin, using the stored UID.
       
    46 	@param aUid The Uid returned by REComSession::CreateImplementationL() or similar.
       
    47 	*/
       
    48 	virtual void PassDestructorKey(TUid aUid)=0;
       
    49 	/**
       
    50 	This method is used to load or create the objects that are internally used by service plugin.
       
    51 	@return KErrNone if successfull, else corresponding error code
       
    52 	*/
       
    53 	virtual TInt Load()=0;
       
    54 	/**
       
    55 	This method is used to start the service.
       
    56 	@return KErrNone if successfull, else corresponding error code
       
    57 	*/
       
    58 	virtual TInt Start()=0;
       
    59 	/**
       
    60 	This method is used to Stop the service.
       
    61 	@return KErrNone if successfull, else corresponding error code
       
    62 	*/
       
    63 	virtual void Stop()=0;
       
    64 	/**
       
    65 	This method is used to destroy plugin. This is equivalent to destructor.
       
    66 	*/
       
    67 	virtual void Release()=0;
       
    68 	};
       
    69 #endif