00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00022 #ifndef __MYSTRINGREVERSE_H__
00023 #define __MYSTRINGREVERSE_H__
00024 
00025 #include "letter.h"
00026 
00033 class CMyStringReverse : public CActive
00034         {
00035 private:
00039         enum TTask      {
00040                                 ETaskNone,
00044                                 ETaskStringAddFirst,
00048                                 ETaskStringAddLast
00049                                 };
00050 public:
00051         static CMyStringReverse* NewL(CConsoleBase* aConsole);
00052         void RunL();
00053         void DoCancel();
00054         void AddToScheduler();
00055         ~CMyStringReverse();
00056         void ReadOption();
00057         void ReadChar();
00058         void PrintStrings();    
00059 private:
00060         CMyStringReverse(CConsoleBase* aConsole);
00061         void ReadFunc();
00062 private:
00066         TDblQue<TLetter> iString;
00070         TDblQueIter<TLetter> iIteratorString;
00074         CConsoleBase* iConsole;
00079         TTask iTask;    
00080         };
00081 
00082 #endif
00083