examples/Multimedia/MmfRec/src/mmfrec.h

00001 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
00002 // All rights reserved.
00003 // This component and the accompanying materials are made available
00004 // under the terms of "Eclipse Public License v1.0"
00005 // which accompanies this distribution, and is available
00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
00007 //
00008 // Initial Contributors:
00009 // Nokia Corporation - initial contribution.
00010 //
00011 // Contributors:
00012 //
00013 // Description:
00014 //
00015 
00016 #ifndef __MMFREC_H
00017 #define __MMFREC_H
00018 
00019 void MainL();
00020 
00041 class CMMFRecordTest : public CBase, public MMdaObjectStateChangeObserver
00042         {
00043 public:
00044         static CMMFRecordTest* NewLC();
00045         virtual ~CMMFRecordTest();
00046         
00047         void Go();
00048         
00049         virtual void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);   
00050 private:
00051         enum TState
00052                 {
00053                 ENone,
00054                 EDoOpenFile,
00055                 EInitFile,
00056                 ERecordFile,
00057                 EDoOpenDesc,
00058                 EInitDesc,
00059                 ERecordDesc,
00060                 ENext,
00061                 EDone
00062                 };
00063 private:
00064         CMMFRecordTest();
00065         void ConstructL();
00066         void GetPluginInformationL();
00067         void Printf(TRefByValue<const TDesC16> aFmt, ...);
00068         static TInt Callback(TAny* self);
00069         void DoCallbackL();
00070         
00071         void NextState(TState aState);
00072         
00073         void InitializeFileL();
00074         void InitializeDesL();
00075         
00076         void DeleteFileL(const TDesC& aFileName);
00077         TBool GetNextFormatUid();
00078         void Next();
00079 private:
00081         TState iState;
00083         CAsyncCallBack* iCallBack;
00085         CPeriodic* iTimer;
00087         CConsoleBase* iConsole;
00089         CMdaAudioRecorderUtility* iRecorder;
00090         
00091         TCallBack iCbFn;
00092         
00093         TInt                        iControllerIndex;
00094         TInt                                            iFormatIndex;
00095     TUid                        iControllerUid;
00096     TUid                        iDestinationFormatUid;
00097         RMMFControllerImplInfoArray iControllers;
00098         RFs                                                     iFs;
00099         
00100         TInt iFileNum;
00101         TBuf<0x10> iExtension;
00102         TBuf<0x20> iFileName;
00103         
00104         TBuf<0x100> iFormattingBuf;
00105         TBuf8<0x1000> iRecBuf;
00106         };
00107 
00108 class TTruncateOverflow : public TDes16Overflow
00109         {
00110         virtual void Overflow(TDes16& /*aDes*/) {};
00111         };
00112         
00113 #endif //__MMFRECTEST_H

Generated by  doxygen 1.6.2