diff -r a36b1e19a461 -r 989d2f495d90 serviceproviders/sapi_mediamanagement/inc/mginterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/sapi_mediamanagement/inc/mginterface.h Fri Jul 03 15:51:24 2009 +0100 @@ -0,0 +1,171 @@ +/* +* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: This Class provides the interface for +* calling the functionality to Media Management SAPI. +* +*/ + + + +#ifndef __CMgInterface_H +#define __CMgInterface_H + + + +class CMgService; +class CMgServiceObserver; + +const TInt KMaxErrorMessageLength = 100; +// CLASS DECLARATION + + + +/** +* Interface class for Media Management SAPI. +* +* @code +* MLiwInterface* Interface = CMgInterface::NewL(); +* Interface->ExecuteCmdL(KGetList,input,output,KLiwOptASyncronous,CallBack); +* @endcode +* +* +* @since Series60 v3.2 +*/ + +class CMgInterface : public CBase, public MLiwInterface + { + public: + /** + * Two-phased constructor + * @since Series60 v3.2 + * @param void + * @return CMgInterface* Returns the instance of + * CMgInterface. + */ + static CMgInterface* NewL(); + + /** + * Destructor. + */ + virtual ~CMgInterface(); + + /** + * This function handles the request of consumer + * @since Series60 v3.2 + * @param aCmdName Command name of SAPI + * @param aInParamList Contains argument on which operation has to + be performed + * @param aOutParamList Result of given command will be + * stored in the output paramater list + * @param aCmdOptions Set option for asyncronous request or + * for canceling the asyncronous request + * @param aCallback Contains the callback for Asynchronous request + */ + + virtual void ExecuteCmdL(const TDesC8& aCmdName, + const CLiwGenericParamList& aInParamList, + CLiwGenericParamList& aOutParamList, + TUint aCmdOptions = 0, + MLiwNotifyCallback* aCallback = 0); + + + /** + * This function will release all the internal resources + * @since Series60 v3.2 + * @param void + * @return void + */ + virtual void Close() {delete this;} + + /** + * This function will convert Symbian error codes to + * SAPI specific error codes + * @since Series60 v3.2 + * @param aSymbianErr Symbian error code to be converted to SAPI specific + * error code + * @return An integer error code + */ + static TInt SapiError( TInt aSymbianErr ); + + private: + + /** + * constructor + * @since Series60 v3.2 + * @param void + * @return void + */ + CMgInterface(); + + /** + * Two-phased constructor + * @since Series60 v3.2 + * @param void + * @return void + */ + void ConstructL(); + /** + * This function will send the request to SAPI core class + * @since Series60 v3.2 + * @param void + * @return void + */ + void SendRequestL(const CLiwGenericParamList& aInParamList, TUint aTransactionID ,TBool aPostionBasedSearching ); + + /** + * Appends error message + * @param aCmdName Command Name + * @param aParameter Parameter Name + * @param aMessage Error message + * + * @return void + */ + void AppendErrorMessageL( const TDesC8& aCmdName, + const TDesC8& aParameter, + const TDesC& aMessage ); + + + /** + * This function will send the request to SAPI core class + * @since Series60 v3.2 + * @param void + * @return void + */ + void GetThumbnailL( const CLiwGenericParamList& aInParamList, + CLiwGenericParamList& aOutParamList, + MLiwNotifyCallback* aCallBack = NULL, + TInt32 aTransactionID = 0 ); + + + private: + /** + * Stores the instance of SAPI Core Class + */ + CMgService *iCoreClass; + + /** + * Stores the instance of Service observer Class + */ + CMgServiceObserver *iServiceObserver; + + /** + * Error Message object + * @internal + */ + HBufC* iErrorMessage; + + +}; + +#endif __CMgInterface_H \ No newline at end of file