genericservices/httputils/Test/IpuTestUtils/e32consf.h
author hgs
Thu, 14 Oct 2010 14:15:50 +0530
changeset 72 403e7f6ed6c5
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
72
hgs
parents:
diff changeset
     1
// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     2
// All rights reserved.
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     7
//
hgs
parents:
diff changeset
     8
// Initial Contributors:
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    10
//
hgs
parents:
diff changeset
    11
// Contributors:
hgs
parents:
diff changeset
    12
//
hgs
parents:
diff changeset
    13
// Description:
hgs
parents:
diff changeset
    14
//
hgs
parents:
diff changeset
    15
hgs
parents:
diff changeset
    16
#ifndef __E32CONSF_H__
hgs
parents:
diff changeset
    17
#define __E32CONSF_H__
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#include <e32std.h> 
hgs
parents:
diff changeset
    20
#include <e32cons.h>
hgs
parents:
diff changeset
    21
#include <e32test.h>
hgs
parents:
diff changeset
    22
#include <f32file.h>
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
#include <utf.h>
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
class CConsoleFile: public CConsoleBase 
hgs
parents:
diff changeset
    27
    {
hgs
parents:
diff changeset
    28
public:
hgs
parents:
diff changeset
    29
    static CConsoleFile* New(const TDesC& aLogFileName)
hgs
parents:
diff changeset
    30
        {
hgs
parents:
diff changeset
    31
        CConsoleFile* self = new CConsoleFile();
hgs
parents:
diff changeset
    32
        if (self)
hgs
parents:
diff changeset
    33
            {
hgs
parents:
diff changeset
    34
            if (self->Construct(aLogFileName))
hgs
parents:
diff changeset
    35
                {
hgs
parents:
diff changeset
    36
                delete self;
hgs
parents:
diff changeset
    37
                self = NULL;
hgs
parents:
diff changeset
    38
                }
hgs
parents:
diff changeset
    39
            }
hgs
parents:
diff changeset
    40
        return self;
hgs
parents:
diff changeset
    41
        }
hgs
parents:
diff changeset
    42
    
hgs
parents:
diff changeset
    43
    virtual ~CConsoleFile()
hgs
parents:
diff changeset
    44
        {
hgs
parents:
diff changeset
    45
        iFile.Close();
hgs
parents:
diff changeset
    46
        iFs.Close();
hgs
parents:
diff changeset
    47
        }
hgs
parents:
diff changeset
    48
hgs
parents:
diff changeset
    49
private:
hgs
parents:
diff changeset
    50
    CConsoleFile()
hgs
parents:
diff changeset
    51
    :CConsoleBase()
hgs
parents:
diff changeset
    52
        {
hgs
parents:
diff changeset
    53
        }
hgs
parents:
diff changeset
    54
    
hgs
parents:
diff changeset
    55
    TInt Construct(const TDesC& aLogFileName)
hgs
parents:
diff changeset
    56
        {
hgs
parents:
diff changeset
    57
        TInt err=iFs.Connect();
hgs
parents:
diff changeset
    58
        if (!err)
hgs
parents:
diff changeset
    59
            {
hgs
parents:
diff changeset
    60
            (void)iFs.MkDirAll(aLogFileName);
hgs
parents:
diff changeset
    61
            if (iFile.Replace(iFs, aLogFileName, EFileShareExclusive | EFileWrite))
hgs
parents:
diff changeset
    62
                {
hgs
parents:
diff changeset
    63
                err=iFile.Create(iFs, aLogFileName, EFileShareExclusive | EFileWrite);            
hgs
parents:
diff changeset
    64
                }
hgs
parents:
diff changeset
    65
            }
hgs
parents:
diff changeset
    66
        return err;
hgs
parents:
diff changeset
    67
        }
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
    void DoWriteL(const TDesC &aDes)
hgs
parents:
diff changeset
    70
        {
hgs
parents:
diff changeset
    71
        HBufC8* outBuf = CnvUtfConverter::ConvertFromUnicodeToUtf8L(aDes);
hgs
parents:
diff changeset
    72
        (void)iFile.Write(*outBuf);
hgs
parents:
diff changeset
    73
        delete outBuf;
hgs
parents:
diff changeset
    74
        }
hgs
parents:
diff changeset
    75
    
hgs
parents:
diff changeset
    76
private: // CConsoleBase
hgs
parents:
diff changeset
    77
    virtual TInt Create(const TDesC& /*aTitle*/,TSize /*aSize*/)
hgs
parents:
diff changeset
    78
        {
hgs
parents:
diff changeset
    79
        return KErrNone;
hgs
parents:
diff changeset
    80
        }
hgs
parents:
diff changeset
    81
    
hgs
parents:
diff changeset
    82
    virtual void Read(TRequestStatus& aStatus)
hgs
parents:
diff changeset
    83
        {
hgs
parents:
diff changeset
    84
        TRequestStatus* status = &aStatus;
hgs
parents:
diff changeset
    85
        User::RequestComplete(status, (TInt)EKeyNull);
hgs
parents:
diff changeset
    86
        }
hgs
parents:
diff changeset
    87
    
hgs
parents:
diff changeset
    88
    virtual void ReadCancel()
hgs
parents:
diff changeset
    89
        {
hgs
parents:
diff changeset
    90
        }
hgs
parents:
diff changeset
    91
    
hgs
parents:
diff changeset
    92
    virtual void Write(const TDesC &aDes)
hgs
parents:
diff changeset
    93
        {
hgs
parents:
diff changeset
    94
        // so that RTest::Title can be called before the TrapHandler has been created
hgs
parents:
diff changeset
    95
        CTrapCleanup* tc = NULL;
hgs
parents:
diff changeset
    96
        if (!User::TrapHandler())
hgs
parents:
diff changeset
    97
            {
hgs
parents:
diff changeset
    98
            tc = CTrapCleanup::New();
hgs
parents:
diff changeset
    99
            }
hgs
parents:
diff changeset
   100
        TRAP_IGNORE(DoWriteL(aDes));
hgs
parents:
diff changeset
   101
        delete tc;
hgs
parents:
diff changeset
   102
        }
hgs
parents:
diff changeset
   103
    
hgs
parents:
diff changeset
   104
    virtual TPoint CursorPos() const
hgs
parents:
diff changeset
   105
        {
hgs
parents:
diff changeset
   106
        return TPoint(0,0);
hgs
parents:
diff changeset
   107
        }
hgs
parents:
diff changeset
   108
    
hgs
parents:
diff changeset
   109
    virtual void SetCursorPosAbs(const TPoint& /*aPoint*/)
hgs
parents:
diff changeset
   110
        {
hgs
parents:
diff changeset
   111
        }
hgs
parents:
diff changeset
   112
    
hgs
parents:
diff changeset
   113
    virtual void SetCursorPosRel(const TPoint& /*aPoint*/)
hgs
parents:
diff changeset
   114
        {
hgs
parents:
diff changeset
   115
        }
hgs
parents:
diff changeset
   116
    
hgs
parents:
diff changeset
   117
    virtual void SetCursorHeight(TInt /*aPercentage*/)
hgs
parents:
diff changeset
   118
        {
hgs
parents:
diff changeset
   119
        }
hgs
parents:
diff changeset
   120
    
hgs
parents:
diff changeset
   121
    virtual void SetTitle(const TDesC& /*aTitle*/)
hgs
parents:
diff changeset
   122
        {
hgs
parents:
diff changeset
   123
        }
hgs
parents:
diff changeset
   124
    
hgs
parents:
diff changeset
   125
    virtual void ClearScreen()
hgs
parents:
diff changeset
   126
        {
hgs
parents:
diff changeset
   127
        }
hgs
parents:
diff changeset
   128
    
hgs
parents:
diff changeset
   129
    virtual void ClearToEndOfLine()
hgs
parents:
diff changeset
   130
        {
hgs
parents:
diff changeset
   131
        }
hgs
parents:
diff changeset
   132
    
hgs
parents:
diff changeset
   133
    virtual TSize ScreenSize() const
hgs
parents:
diff changeset
   134
        {
hgs
parents:
diff changeset
   135
        return TSize(0,0);
hgs
parents:
diff changeset
   136
        }
hgs
parents:
diff changeset
   137
    
hgs
parents:
diff changeset
   138
    virtual TKeyCode KeyCode() const
hgs
parents:
diff changeset
   139
        {
hgs
parents:
diff changeset
   140
        return EKeyNull;
hgs
parents:
diff changeset
   141
        }
hgs
parents:
diff changeset
   142
    
hgs
parents:
diff changeset
   143
    virtual TUint KeyModifiers() const
hgs
parents:
diff changeset
   144
        {
hgs
parents:
diff changeset
   145
        return 0;
hgs
parents:
diff changeset
   146
        }
hgs
parents:
diff changeset
   147
hgs
parents:
diff changeset
   148
private:
hgs
parents:
diff changeset
   149
    RFs iFs;
hgs
parents:
diff changeset
   150
    RFile iFile;
hgs
parents:
diff changeset
   151
    };
hgs
parents:
diff changeset
   152
hgs
parents:
diff changeset
   153
void LogRTestToFile(RTest& aTest)
hgs
parents:
diff changeset
   154
    {
hgs
parents:
diff changeset
   155
    RProcess myProcess;
hgs
parents:
diff changeset
   156
    TParsePtrC parsePtr(myProcess.FileName());
hgs
parents:
diff changeset
   157
    TFileName logFileName;
hgs
parents:
diff changeset
   158
    logFileName.Format(_L("c:\\logs\\testexecute\\%S.htm"), &parsePtr.Name());
hgs
parents:
diff changeset
   159
    aTest.SetConsole(CConsoleFile::New(logFileName)); // SMH - Setting NULL console is OK
hgs
parents:
diff changeset
   160
    }
hgs
parents:
diff changeset
   161
hgs
parents:
diff changeset
   162
#endif // __E32CONSF_H__
hgs
parents:
diff changeset
   163