mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/MetaDataWrite/Inc/MetaDataWrite.h
changeset 0 71ca22bcf22a
--- /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 <e32base.h>
+#include <mdaaudiosampleeditor.h>
+
+// 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