00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
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& ) {};
00111 };
00112
00113 #endif //__MMFRECTEST_H