diff -r 000000000000 -r 71ca22bcf22a mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/MetaDataWrite/Inc/MetaDataWrite.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/MetaDataWrite/Inc/MetaDataWrite.h Tue Feb 02 01:08:46 2010 +0200 @@ -0,0 +1,150 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "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: Header file for MetaDataWrite +* +*/ + + +#ifndef METADATAWRITE_H +#define METADATAWRITE_H + +// INCLUDES +#include +#include + +// CLASS DECLARATION + +/** +* This class implements CMetaDataWrite +* +* @lib MetaDataWrite.lib +* @since 3.0 +*/ +class CMetaDataWrite : public CBase +{ +public: + + /** + * Two-phased constructor + * @param aUtility - Reference to the CMdaAudioRecorderUtility + * @since 3.0 + * @return void + */ + IMPORT_C static CMetaDataWrite* NewL(CMdaAudioRecorderUtility& aUtility); + + /** + * Enable delay write, this should be called everytime a new file is opened + * @since 3.0 + * @return TInt standard system error if any + */ + IMPORT_C TInt EnableDelayWrite(); + + /** + * Commit meta data + * @since 3.0 + * @return TInt standard system error if any + */ + IMPORT_C TInt CommitMetaData(); + +private: + + /** + * C++ default constructor + * @param aUtility - Reference to the CMdaAudioRecorderUtility + * @since 3.0 + * @return void + */ + CMetaDataWrite(CMdaAudioRecorderUtility& aUtility); + +private: + + // reference of CMdaAudioRecorderUtility + CMdaAudioRecorderUtility& iUtility; + + // destination package for messages + TMMFMessageDestinationPckg iDestinationPckg; +}; + + +/** +* This class implements MMetaDataWriteCustomCommandImplementor +* +* @lib n/a +* @since 3.0 +*/ +class MMetaDataWriteCustomCommandImplementor +{ +public: + + /** + * Implements request on MitmdcEnableDelayWrite + * @since 3.0 + * @return TInt standard system error if any + */ + virtual TInt MmdwcEnableDelayWrite() = 0; + + /** + * Implements request on CommitMetaData + * @since 3.0 + * @return TInt standard system error if any + */ + virtual TInt MmdwcCommitMetaData() = 0; +}; + + +/** +* This class implements CMetaDataWriteCustomCommandParser +* +* @lib MetaDataWrite.lib +* @since 3.0 +*/ +class CMetaDataWriteCustomCommandParser : public CMMFCustomCommandParserBase +{ +public: + + /** + * Two-phased constructor + * @param aImplementor - Reference to the MMetaDataWriteCustomCommandImplementor + * @since 3.0 + * @return void + */ + IMPORT_C static CMetaDataWriteCustomCommandParser* NewL(MMetaDataWriteCustomCommandImplementor& aImplementor); + + /** + * From CMMFCustomCommandParserBase + * Decode and handle the message from the client + * @param aMessage - The message to be serviced + * @since 3.0 + * @return void + */ + virtual void HandleRequest(TMMFMessage& aMessage); + +private: + + /** + * C++ default constructor + * @param aImplementor - a reference to the MMetaDataWriteCustomCommandImplementor + * @since 3.0 + * @return void + */ + CMetaDataWriteCustomCommandParser(MMetaDataWriteCustomCommandImplementor& aImplementor); + +private: + + MMetaDataWriteCustomCommandImplementor& iImplementor; +}; + +#endif + +// End of file