summaryrefslogtreecommitdiff
path: root/extensions/source/oooimprovement/logstorage.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/source/oooimprovement/logstorage.cxx')
-rw-r--r--extensions/source/oooimprovement/logstorage.cxx149
1 files changed, 0 insertions, 149 deletions
diff --git a/extensions/source/oooimprovement/logstorage.cxx b/extensions/source/oooimprovement/logstorage.cxx
deleted file mode 100644
index da15ebc5c..000000000
--- a/extensions/source/oooimprovement/logstorage.cxx
+++ /dev/null
@@ -1,149 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_extensions.hxx"
-
-#include "logstorage.hxx"
-#include "config.hxx"
-#include <com/sun/star/ucb/XSimpleFileAccess.hpp>
-#include <com/sun/star/util/XStringSubstitution.hpp>
-
-
-using namespace com::sun::star::io;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::util;
-using ::com::sun::star::ucb::XSimpleFileAccess;
-using ::rtl::OUString;
-using ::std::vector;
-
-
-namespace
-{
- using namespace oooimprovement;
-
- static const OUString CSSU_PATHSUB(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.PathSubstitution"));
-
- static OUString getLogPathFromCfg(const Reference<XMultiServiceFactory>& sf)
- {
- Config config(sf);
- OUString result=config.getLogPath();
- Reference<XStringSubstitution> path_sub(
- sf->createInstance(CSSU_PATHSUB),
- UNO_QUERY);
- if(path_sub.is())
- result = path_sub->substituteVariables(result, sal_False);
- return result;
- }
-
- static bool isZipfile(const OUString& fileurl)
- {
- static const OUString file_extension(RTL_CONSTASCII_USTRINGPARAM(".zip"));
- return fileurl.match(file_extension, fileurl.getLength()-file_extension.getLength());
- };
-
- static bool isLogfile(const OUString& fileurl)
- {
- static const OUString file_extension(RTL_CONSTASCII_USTRINGPARAM(".csv"));
- static const OUString current(RTL_CONSTASCII_USTRINGPARAM("Current.csv"));
- return
- fileurl.match(file_extension, fileurl.getLength()-file_extension.getLength())
- && !fileurl.match(current, fileurl.getLength()-current.getLength());
- };
-
- static bool isZipOrLogFile(const OUString& fileurl)
- {
- return isZipfile(fileurl) || isLogfile(fileurl);
- }
-
- static Sequence<OUString> getAllLogStoragefiles(const Reference<XMultiServiceFactory>& sf)
- {
- Reference<XSimpleFileAccess> file_access(
- sf->createInstance(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.ucb.SimpleFileAccess"))),
- UNO_QUERY_THROW);
- return file_access->getFolderContents(
- getLogPathFromCfg(sf),
- false);
- };
-
- static vector<OUString> getLogStoragefiles(
- const Reference<XMultiServiceFactory>& sf,
- bool (*condition)(const OUString& path))
- {
- Sequence<OUString> candidates = getAllLogStoragefiles(sf);
- vector<OUString> result;
- result.reserve(candidates.getLength());
- for(sal_Int32 idx=0; idx<candidates.getLength(); ++idx)
- if(condition(candidates[idx]))
- result.push_back(candidates[idx]);
- return result;
- };
-
- static void assureLogStorageExists(const Reference<XMultiServiceFactory>& sf)
- {
- Reference<XSimpleFileAccess> file_access(
- sf->createInstance(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.ucb.SimpleFileAccess"))),
- UNO_QUERY_THROW);
- OUString log_path(getLogPathFromCfg(sf));
- if(!file_access->isFolder(log_path))
- file_access->createFolder(log_path);
- };
-}
-
-namespace oooimprovement
-{
-
- LogStorage::LogStorage(const Reference<XMultiServiceFactory>& sf)
- : m_ServiceFactory(sf)
- {}
-
- void LogStorage::assureExists()
- {
- assureLogStorageExists(m_ServiceFactory);
- }
-
- void LogStorage::clear()
- {
- Reference<XSimpleFileAccess> file_access(
- m_ServiceFactory->createInstance(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.ucb.SimpleFileAccess"))),
- UNO_QUERY_THROW);
- vector<OUString> files_to_kill = getLogStoragefiles(m_ServiceFactory, &isZipOrLogFile);
- for(vector<OUString>::iterator item = files_to_kill.begin();
- item != files_to_kill.end();
- ++item)
- file_access->kill(*item);
- }
-
- const vector<OUString> LogStorage::getUnzippedLogFiles() const
- { return getLogStoragefiles(m_ServiceFactory, &isLogfile); }
-
- const vector<OUString> LogStorage::getZippedLogFiles() const
- { return getLogStoragefiles(m_ServiceFactory, &isZipfile); }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */