update dev300-m58
[ooovba.git] / soltools / testSHL / inc / tlog.hxx
blobe2d682e07f6903a7be2e2d6ae8a097e98353ae27
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: tlog.hxx,v $
10 * $Revision: 1.4 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _SOLTOOLS_TESTSHL_TLOG_HXX__
31 #define _SOLTOOLS_TESTSHL_TLOG_HXX__
33 #include <osl/file.hxx>
34 #include <rtl/tres.hxx>
36 #ifndef _SOLTOOLS_TESTSHL_TUTIL_HXX_
37 #include "tutil.hxx"
38 #endif
40 #include <iostream>
42 using namespace std;
44 // <namespace_tstutl>
45 namespace tstutl {
47 // <class_tLog>
48 class tLog {
50 // <private_members>
51 ::osl::File* m_logfile; // fileobject
52 ::rtl::OUString m_logname; // name of log
53 // </private_members>
55 // <private_methods>
56 void initialize( const ::rtl::OString& name );
57 // </private_methods>
59 public:
61 // <public_ctors>
62 tLog() : m_logfile( 0 ) {
65 tLog( const sal_Char* name ) {
66 if( name ) {
67 initialize( name );
69 else {
70 m_logfile = 0;
74 // </public_ctors>
76 // <dtor>
77 virtual ~tLog() {
78 if ( m_logfile ) {
79 m_logfile->close();
80 delete( m_logfile );
82 } // </dtor>
84 // <public_methods>
85 inline ::rtl::OUString& getName() { return m_logname; }
86 inline ::osl::File* getFile() { return m_logfile; }
88 // open logfile for overwrite (default) or append
89 ::osl::FileBase::RC open( sal_Bool append = sal_False );
90 ::osl::FileBase::RC close();
92 ::osl::FileBase::RC writeRes( ::rtl::TestResult& oRes, sal_Bool v = sal_False ,
93 sal_Bool xml = sal_False );
95 // write methods without (default) or with echo on display
96 ::osl::FileBase::RC write( const sal_Char* buf, sal_Bool v = sal_False );
97 // </public_methods>
99 }; // </class_tLog>
101 } // </namespace_tstutl>
103 #endif