00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00022 #ifndef __LONGNUMBER_H__
00023 #define __LONGNUMBER_H__
00024 
00025 #include "digit.h"
00026 
00034 class CLongNumber : public CActive
00035         {
00036 private:
00040         enum TOption    {
00041                                         ETOptionNone,
00045                                         EAddFirst, 
00049                                         EAddLast,
00053                                         ERemove
00054                                         };
00055 public:
00056         static CLongNumber* NewL(CConsoleBase* aConsole);
00057         void RunL();
00058         void DoCancel();
00059         void AddToScheduler();
00060         void ReadNumber();
00061         ~CLongNumber();
00062         void PrintNumber();
00063         void InitializeIter();
00064         TBool GetNumber(TInt& aValue);
00065         TBool Slide();
00066 private:
00067         CLongNumber(CConsoleBase* aConsole);
00068         void ReadFunc();
00069 private:
00073         TSglQue<TDigit> iNumber;
00077         CConsoleBase* iConsole;
00081         TOption iOption;
00085         TSglQueIter<TDigit> iIterator;
00086         };
00087 
00088 #endif
00089