diff -r f5050f1da672 -r 04becd199f91 javatools/javacaptain_app/src.s60/javacap.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javatools/javacaptain_app/src.s60/javacap.h Tue Apr 27 16:30:29 2010 +0300 @@ -0,0 +1,132 @@ +/* +* Copyright (c) 2008 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: JavaCap +* +*/ + +#ifndef JAVACAP_H +#define JAVACAP_H + +#include +#include +#include +#include +#include +#include "javastorage.h" +#include "javadiagnostic.h" +using namespace java::debug; + +const TUid KUidJavaCaptain={ 0x20022D3C }; +class LogRedirector; + +class CJavaCaptainContainer : public CCoeControl +{ +public: + void ConstructL(const TRect& aRect); + ~CJavaCaptainContainer(); + static void ThreadMain(CJavaCaptainContainer*); + void updateStates(); + void setCaptainState(bool running); + void handleStateChangeCmd(int cmd); + +private: + void StartCaptain(); + void Draw(const TRect& aRect) const; + std::wstring GetSecurityWarningsMode(); + void SetSecurityWarningsMode(const std::wstring& aSecurityWarningsMode); + int GetSecurityPolicy(); + void SetSecurityPolicy(int); + void findColumn(const java::storage::JavaStorageApplicationEntry_t& aEntry, const std::wstring& aColName, std::wstring& aColValue); + + +private: + TBuf<20> mHeader; + TBuf<40> mCaptainState; + TBuf<40> mPrewarmState; + TBuf<40> mPrewarmUiState; + TBuf<40> mDebugState; + TBuf<40> mSecurityMode; + TBuf<40> mSecurityPolicy; + TBuf<40> mRedirectState; + + bool mCaptainRunning; + bool mPrewarmEnabled; + bool mPrewarmUiEnabled; + bool mDebugEnabled; + bool mUserSecurityModeEnabled; + int mSecurityPolicyId; + bool mRedirectEnabled; + + std::auto_ptr iStorage; + std::auto_ptr mRedirector; +}; + +class CJavaCaptainEikDocument : public CAknDocument +{ +public: + void ConstructL(); + CJavaCaptainEikDocument(CEikApplication& aApp): CAknDocument(aApp) { } + ~CJavaCaptainEikDocument() {} +private: + // from CAknDocument + CEikAppUi* CreateAppUiL(); +}; + +class CJavaCaptainAppUi : public CAknAppUi +{ +public: + void ConstructL(); + ~CJavaCaptainAppUi(); + +public: + static TInt tick(TAny* splash); + +private: + void HandleCommandL(TInt aCommand); + CJavaCaptainContainer* iAppView; + bool mActive; + CPeriodic* mPeriodic; +}; + +class CJavaCaptainApplication : public CAknApplication +{ +private: + // from CApaApplication + CApaDocument* CreateDocumentL(); + TUid AppDllUid() const; +}; + +class LogRedirector : public DiagnosticListener +{ +public: + LogRedirector(); + ~LogRedirector(); + + void start(); + void stop(); + + // DiagnosticListener methods + virtual void systemOut(const TDesC8& aData); + virtual void systemErr(const TDesC8& aData); + virtual void log(const TDesC8& aData); + +private: + void write(const TDesC8& aData); + std::auto_ptr iJavaDiagnostic; + + int mFd; +}; + +#endif // JAVACAP_H +