diff -r 000000000000 -r f0f2b8682603 memana/analyzetoolclient/consoleui/inc/atconsoleui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/memana/analyzetoolclient/consoleui/inc/atconsoleui.h Thu Feb 11 15:51:35 2010 +0200 @@ -0,0 +1,302 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef ATCONSOLE_UI_H +#define ATCONSOLE_UI_H + +// INCLUDE +#include +#include + +#include +#include + +// CONSTANTS +const TInt KMaxLineLength = 80; // Max. line length +const TInt KScrollPeriod = 300000; // scrolling period +const TUint32 KATHundred = 100; +const TUint32 KATThousand = 1000; +const TUint32 KATMillion = 1000000; +_LIT( KATB, "B" ); +_LIT( KATKB, "KB" ); +_LIT( KATMB, "MB" ); + +// MACROS + +// FORWARD DECLARATIONS +class CView; +class CConsoleMain; +class CConsoleReader; + +// CLASS DECLARATION + +/** + * @class CScrollerTimer atconsoleui.h + * @brief The CSrollerTimer is used for updating the application + * user interface. + */ +class CScrollerTimer + :public CActive + { + public: // Constructors and destructor + + /** + * NewL is first phase of two-phased constructor. + */ + static CScrollerTimer* NewL( CConsoleMain* aMain ); + + /** + * Destructor of CModule. + */ + ~CScrollerTimer(); + + public: // New functions + + /** + * StartL + */ + void StartL(); + + /** + * RunL + */ + void RunL(); + + /** + * DoCancel + */ + void DoCancel(); + + /** + * RunError + */ + TInt RunError ( TInt aError ); + + private: + + /** + * C++ default constructor. + */ + CScrollerTimer(); + + /** + * By default Symbian OS constructor is private. + */ + void ConstructL( CConsoleMain* aMain ); + + protected: // Data + // None + + private: // Data + CConsoleMain* iMain; // Pointer to main console + RTimer iTimer; + }; + +/** + * @class CConsoleMain atconsoleui.h + * @brief The CConsoleMain is main class for constructing the console + * application. + */ +class CConsoleMain: public CBase + { + public: // Constructors and destructor + + /** + * NewL is first phase of two-phased constructor. + */ + static CConsoleMain* NewL(); + + /** + * Start + */ + TInt StartL(); + + /** + * Returns the array of processes under testing + */ + RArray Processes(); + + /** + * Returns handle to the storage server + * @return RATStorageServer handle to the storage server + */ + inline RATStorageServer StorageServer() + { + return iStorageServer; + } + + /** + * Starts a subtest for a process. + * @param aProcessId ID of the process + */ + void SetProcessSubTestStart( TUint aProcessId ); + + /** + * Stops a subtest for a process. + * @param aProcessId ID of the process + */ + + void SetProcessSubTestStop( TUint aProcessId ); + + /** + * Checks if subtest is running for a process. + * @param aProcessId ID of the process + * @return The index of the first matching aProcessId + * within the array. KErrNotFound, if no matching + * aProcessId can be found. + */ + TInt IsSubTestRunning( TUint aProcessId ); + + /** + * Stops all the subtests currently running. + */ + void StopAllSubtestsL(); + + /** + * Destructor of CConsoleMain. + */ + ~CConsoleMain(); + + /** + * Updates processes. + */ + void UpdateProcessesL(); + + + public: // New functions + + /** + * Close instance. + */ + void Close( TInt aHandle ); + + /** + * Return pointer to console + */ + CConsoleBase* GetConsole(); + + /** + * Called from timer to perform scrolling + */ + void TimerUpdate(); + + /** + * Process keystokes. + */ + void KeyPressedL(); + + private: + + /** + * C++ default constructor. + */ + CConsoleMain(); + + /** + * By default Symbian OS constructor is private. + */ + void ConstructL(); + + protected: // Data + // None + + private: // Data + CConsoleBase* iConsole; // Pointer to console + + CView* iMainView; // Root menu + CView* iCurrentView; // Current menu + + CScrollerTimer* iScroller; + + CConsoleReader* iReader; // Console reader + // Handle to the RATStorageServer + RATStorageServer iStorageServer; + // Array of processes under testing + RArray iProcesses; + // array containing all the processes which subtest is running + RArray iSubTestProcesses; + TBool iStorageServerOpen; + }; + +/** + * @class CConsoleReader atconsoleui.h + * @brief The CConsoleReader is reading keystrokes from console. + */ +class CConsoleReader + :public CActive + { + public: // Constructors and destructor + + /** + * NewL is first phase of two-phased constructor. + */ + static CConsoleReader* NewL( CConsoleMain* aMain, + CConsoleBase* aConsole ); + + /** + * Start + */ + void StartL(); + + /** + * Destructor of CConsoleReader. + */ + ~CConsoleReader(); + + public: // Functions from base classes + + /** + * RunL derived from CActive handles the completed requests. + */ + void RunL(); + + /** + * DoCancel derived from CActive handles the Cancel + */ + void DoCancel(); + /** + * RunError derived from CActive handles errors from active object + */ + virtual TInt RunError(TInt aError); + + private: + + /** + * C++ default constructor. + */ + CConsoleReader( CConsoleMain* aMain, + CConsoleBase* iConsole ); + + /** + * By default Symbian OS constructor is private. + */ + void ConstructL(); + + public: //Data + // None + + protected: // Data + // None + + private: // Data + CConsoleBase* iConsole; // Pointer to console + CConsoleMain* iMain; // Pointer to the CConsoleMain + }; + +#endif // ATCONSOLEUI_H + +// End of File