memspy/CommandLine/Include/MemSpyCommandLine.h
branchRCL_3
changeset 20 ca8a1b6995f6
parent 0 a03f92240627
child 21 52e343bb8f80
--- a/memspy/CommandLine/Include/MemSpyCommandLine.h	Thu Aug 19 11:25:43 2010 +0300
+++ b/memspy/CommandLine/Include/MemSpyCommandLine.h	Tue Aug 31 16:45:49 2010 +0300
@@ -22,6 +22,9 @@
 #include <e32base.h>
 #include <f32file.h>
 #include <badesca.h>
+#include <e32cons.h>
+
+#include "MemSpyCommands.h"
 
 #ifdef _DEBUG
 #   define TRACE( x ) x
@@ -36,21 +39,28 @@
 class RFs;
 class CCommandLineArguments;
 class RMemSpyEngineClientInterface;
+class CConsoleBase;
+class RMemSpySession;
 
-class CMemSpyCommandLine : public CBase
+class CMemSpyCommandLine :  public CActive
     {
 public:
-    static CMemSpyCommandLine* NewLC();
+    //static CMemSpyCommandLine* NewLC();
+	static CMemSpyCommandLine* NewLC( CConsoleBase& aConsole );
     ~CMemSpyCommandLine();
 
 private:
-    CMemSpyCommandLine();
+    //CMemSpyCommandLine();
+    CMemSpyCommandLine( CConsoleBase& aConsole );
     void ConstructL();
 
 public: // API
-    void PerformBatchL( const TDesC& aFileName );
+    //void PerformBatchL( const TDesC& aFileName ); 	//support of the batch files removed 
     void PerformOpL( const CCommandLineArguments& aCommandLine );
     void PerformSingleOpL( const TDesC& aCommand, const CDesCArray& aParameters );
+    //
+    //AO request method
+    void WaitForInput();
 
 private: // Internal methods
     void ConnectToMemSpyL();
@@ -60,10 +70,26 @@
     TInt FindBatchFile( TDes &aFileName );
     TInt FindFile( TDes &aFileName, const TDesC &aDirPath );
 
+private: // Console write methods
+    void RedrawInputPrompt();
+    void RedrawStatusMessage();
+    void RedrawStatusMessage( const TDesC& aMessage );
+    void ProcessCommandBufferL();
+    void RunL(); // from CActive
+    TInt RunError( TInt aError );
+    void DoCancel();
+    
 private: // Data members
     RFs iFsSession;
     RMemSpyEngineClientInterface* iMemSpy;
+    RMemSpySession* iMemSpySession;
     TBool iIsBatch; // For avoiding recursion
+    
+private: // Data members - console - write status messages
+    CConsoleBase& iConsole;
+    TPoint iCommandPromptPos;
+    TPoint iStatusMessagePos;
+    TBuf<KMemSpyMaxInputBufferLength> iCommandBuffer;
     };