summaryrefslogtreecommitdiff
path: root/testshl2/inc/testshl/result/log.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'testshl2/inc/testshl/result/log.hxx')
-rw-r--r--testshl2/inc/testshl/result/log.hxx106
1 files changed, 106 insertions, 0 deletions
diff --git a/testshl2/inc/testshl/result/log.hxx b/testshl2/inc/testshl/result/log.hxx
new file mode 100644
index 000000000000..fe5816a7cb17
--- /dev/null
+++ b/testshl2/inc/testshl/result/log.hxx
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile$
+ * $Revision$
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __QADEV_REGSCAN_LOG_HXX__
+#define __QADEV_REGSCAN_LOG_HXX__
+
+#include <time.h>
+#include <rtl/ustring.hxx>
+#include <rtl/strbuf.hxx>
+#include <sal/types.h>
+#include <osl/thread.h>
+#include <osl/file.hxx>
+
+#include <testshl/nocopy.hxx>
+
+//!io #include <iostream>
+#include <vector>
+
+// using namespace std;
+
+
+/**
+ * Log derives the interface of the ::osl::File class ( is-a relation ).
+ * Its members (has-a relation) are the (full qualified)name of the log
+ * and an OStringBuffer which represents the content of the logfile.
+ * It provides the functionality of easy-to-use open and write logs
+ */
+//: Log
+class Log : NOCOPY {
+
+ ::osl::File* m_logfile; // fileobject
+ rtl::OUString m_logurl; // url of log
+ rtl::OStringBuffer m_buf; // content of log
+
+ Log();
+
+public:
+
+ //> c'tor
+ /**
+ * constructors argument is a full qualified UNC path
+ * @param OUString logfile ( full qualified UNC path )
+ */
+ Log( const rtl::OUString& logURL )
+ : m_logfile( new ::osl::File( logURL ))
+ , m_logurl(logURL)
+ {} ///< c'tor
+
+ //> d'tor
+ virtual ~Log()
+ {
+ m_logfile->close();
+ delete( m_logfile );
+ } ///< d'tor
+
+ //> inline methods
+ // returns a reference to name instance
+ inline rtl::OUString getLogURL() { return m_logurl; }
+ inline rtl::OString getName() { return rtl::OUStringToOString(
+ m_logurl, RTL_TEXTENCODING_ASCII_US ); }
+ ///< inline methods
+
+ // open logfile for overwrite (default) or append
+ ::osl::FileBase::RC open( sal_Bool append = sal_False );
+ ::osl::FileBase::RC close() { return m_logfile->close(); }
+
+
+ // write methods without (default) or with echo on display
+ ::osl::FileBase::RC write( const sal_Char* buf, sal_Bool v = sal_False );
+ ::osl::FileBase::RC write( const rtl::OString& buf,
+ sal_Bool v = sal_False );
+ //! ::osl::FileBase::RC write( rtl::OStringBuffer& buf,
+ //! sal_Bool v = sal_False );
+ ::osl::FileBase::RC write( const rtl::OUString& buf,
+ rtl_TextEncoding enc = RTL_TEXTENCODING_ASCII_US,
+ sal_Bool v = sal_False );
+
+}; ///:~ Log
+
+#endif