javatools/javacaptain_app/src.s60/javacap.h
branchRCL_3
changeset 83 26b2b12093af
parent 19 04becd199f91
equal deleted inserted replaced
77:7cee158cb8cd 83:26b2b12093af
       
     1 /*
       
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  JavaCap
       
    15 *
       
    16 */
       
    17 
       
    18 #ifndef JAVACAP_H
       
    19 #define JAVACAP_H
       
    20 
       
    21 #include <aknapp.h>
       
    22 #include <aknappui.h>
       
    23 #include <AknDoc.h>
       
    24 #include <memory>
       
    25 #include <f32file.h>
       
    26 #include "javastorage.h"
       
    27 #include "javadiagnostic.h"
       
    28 using namespace java::debug;
       
    29 
       
    30 const TUid KUidJavaCaptain={ 0x20022D3C };
       
    31 class LogRedirector;
       
    32 
       
    33 class CJavaCaptainContainer : public CCoeControl
       
    34 {
       
    35 public:
       
    36     void ConstructL(const TRect& aRect);
       
    37     ~CJavaCaptainContainer();
       
    38     static void ThreadMain(CJavaCaptainContainer*);
       
    39     void updateStates();
       
    40     void setCaptainState(bool running);
       
    41     void handleStateChangeCmd(int cmd);
       
    42 
       
    43 private:
       
    44     void StartCaptain();
       
    45     void Draw(const TRect& aRect) const;
       
    46     std::wstring GetSecurityWarningsMode();
       
    47     void SetSecurityWarningsMode(const std::wstring& aSecurityWarningsMode);
       
    48     int GetSecurityPolicy();
       
    49     void SetSecurityPolicy(int);
       
    50     void findColumn(const java::storage::JavaStorageApplicationEntry_t& aEntry, const std::wstring& aColName, std::wstring& aColValue);
       
    51 
       
    52 
       
    53 private:
       
    54     TBuf<20>        mHeader;
       
    55     TBuf<40>        mCaptainState;
       
    56     TBuf<40>        mPrewarmState;
       
    57     TBuf<40>        mPrewarmUiState;
       
    58     TBuf<40>        mDebugState;
       
    59     TBuf<40>        mSecurityMode;
       
    60     TBuf<40>        mSecurityPolicy;
       
    61     TBuf<40>        mRedirectState;
       
    62 
       
    63     bool            mCaptainRunning;
       
    64     bool            mPrewarmEnabled;
       
    65     bool            mPrewarmUiEnabled;
       
    66     bool            mDebugEnabled;
       
    67     bool            mUserSecurityModeEnabled;
       
    68     int             mSecurityPolicyId;
       
    69     bool            mRedirectEnabled;
       
    70 
       
    71     std::auto_ptr<java::storage::JavaStorage> iStorage;
       
    72     std::auto_ptr<LogRedirector> mRedirector;
       
    73 };
       
    74 
       
    75 class CJavaCaptainEikDocument : public CAknDocument
       
    76 {
       
    77 public:
       
    78     void ConstructL();
       
    79     CJavaCaptainEikDocument(CEikApplication& aApp): CAknDocument(aApp) { }
       
    80     ~CJavaCaptainEikDocument() {}
       
    81 private:
       
    82     // from CAknDocument
       
    83     CEikAppUi* CreateAppUiL();
       
    84 };
       
    85 
       
    86 class CJavaCaptainAppUi : public CAknAppUi
       
    87 {
       
    88 public:
       
    89     void ConstructL();
       
    90     ~CJavaCaptainAppUi();
       
    91 
       
    92 public:
       
    93     static TInt tick(TAny* splash);
       
    94 
       
    95 private:
       
    96     void HandleCommandL(TInt aCommand);
       
    97     CJavaCaptainContainer* iAppView;
       
    98     bool                   mActive;
       
    99     CPeriodic*             mPeriodic;
       
   100 };
       
   101 
       
   102 class CJavaCaptainApplication : public CAknApplication
       
   103 {
       
   104 private:
       
   105     // from CApaApplication
       
   106     CApaDocument* CreateDocumentL();
       
   107     TUid AppDllUid() const;
       
   108 };
       
   109 
       
   110 class LogRedirector : public DiagnosticListener
       
   111 {
       
   112 public:
       
   113     LogRedirector();
       
   114     ~LogRedirector();
       
   115 
       
   116     void start();
       
   117     void stop();
       
   118 
       
   119     // DiagnosticListener methods
       
   120     virtual void systemOut(const TDesC8& aData);
       
   121     virtual void systemErr(const TDesC8& aData);
       
   122     virtual void log(const TDesC8& aData);
       
   123 
       
   124 private:
       
   125     void write(const TDesC8& aData);
       
   126     std::auto_ptr<java::debug::JavaDiagnostic> iJavaDiagnostic;
       
   127 
       
   128     int mFd;
       
   129 };
       
   130 
       
   131 #endif // JAVACAP_H
       
   132