summaryrefslogtreecommitdiff
path: root/extensions/source/update/check/updatecheckconfig.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/source/update/check/updatecheckconfig.hxx')
-rw-r--r--extensions/source/update/check/updatecheckconfig.hxx245
1 files changed, 0 insertions, 245 deletions
diff --git a/extensions/source/update/check/updatecheckconfig.hxx b/extensions/source/update/check/updatecheckconfig.hxx
deleted file mode 100644
index 4266159a8..000000000
--- a/extensions/source/update/check/updatecheckconfig.hxx
+++ /dev/null
@@ -1,245 +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.
- *
- ************************************************************************/
-
-#include <cppuhelper/implbase3.hxx>
-#include <com/sun/star/beans/NamedValue.hpp>
-#include <com/sun/star/container/XNameContainer.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <com/sun/star/util/XChangesBatch.hpp>
-#include <rtl/ref.hxx>
-
-#include "updatecheckconfiglistener.hxx"
-#include "updateinfo.hxx"
-
-/* Interface to acess configuration data read-only */
-struct IByNameAccess
-{
- virtual ::com::sun::star::uno::Any getValue(const sal_Char * pName) = 0;
-};
-
-/* This helper class provides by name access to a sequence of named values */
-class NamedValueByNameAccess : public IByNameAccess
-{
- const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& m_rValues;
-
-public:
- NamedValueByNameAccess(
- const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& rValues) :
- m_rValues(rValues) {} ;
-
- virtual ~NamedValueByNameAccess();
-
- virtual ::com::sun::star::uno::Any getValue(const sal_Char * pName);
-};
-
-
-/* This class encapsulates the configuration item actually used for storing the state
- * the update check is actually in.
- */
-class UpdateCheckROModel
-{
-public:
- UpdateCheckROModel(IByNameAccess& aNameAccess) : m_aNameAccess(aNameAccess) {};
-
- bool isAutoCheckEnabled() const;
- bool isDownloadPaused() const;
- rtl::OUString getLocalFileName() const;
- sal_Int64 getDownloadSize() const;
-
- rtl::OUString getUpdateEntryVersion() const;
- void getUpdateEntry(UpdateInfo& rInfo) const;
-
-private:
-
- rtl::OUString getStringValue(const sal_Char *) const;
-
- IByNameAccess& m_aNameAccess;
-};
-
-
-
-/* This class implements the non published UNO service com.sun.star.setup.UpdateCheckConfig,
- * which primary use is to be able to track changes done in the Toos -> Options page of this
- * component, as this is not supported by the OOo configuration for extendable groups.
- */
-
-class UpdateCheckConfig : public ::cppu::WeakImplHelper3<
- ::com::sun::star::container::XNameReplace,
- ::com::sun::star::util::XChangesBatch,
- ::com::sun::star::lang::XServiceInfo >
-{
- UpdateCheckConfig( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& xContainer,
- const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& xAvailableUpdates,
- const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& xIgnoredUpdates,
- const ::rtl::Reference< UpdateCheckConfigListener >& rListener );
-
- virtual ~UpdateCheckConfig();
-
-public:
-
- static ::com::sun::star::uno::Sequence< rtl::OUString > getServiceNames();
- static rtl::OUString getImplName();
-
- static ::rtl::Reference< UpdateCheckConfig > get(
- const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& xContext,
- const ::rtl::Reference< UpdateCheckConfigListener >& rListener = ::rtl::Reference< UpdateCheckConfigListener >());
-
- // Should really implement ROModel ..
- bool isAutoCheckEnabled() const;
- bool isAutoDownloadEnabled() const;
- rtl::OUString getUpdateEntryVersion() const;
-
- /* Updates the timestamp of last check, but does not commit the change
- * as either clearUpdateFound() or setUpdateFound() are expected to get
- * called next.
- */
- void updateLastChecked();
-
- /* Returns the date of the last successful check in seconds since 1970 */
- sal_Int64 getLastChecked() const;
-
- /* Returns configured check interval in seconds */
- sal_Int64 getCheckInterval() const;
-
- /* Reset values of previously remembered update
- */
- void clearUpdateFound();
-
- /* Stores the specified data of an available update
- */
- void storeUpdateFound(const UpdateInfo& rInfo, const rtl::OUString& aCurrentBuild);
-
- // Returns the local file name of a started download
- rtl::OUString getLocalFileName() const;
-
- // Returns the local file name of a started download
- rtl::OUString getDownloadDestination() const;
-
- // stores the local file name of a just started download
- void storeLocalFileName(const rtl::OUString& rFileName, sal_Int64 nFileSize);
-
- // Removes the local file name of a download
- void clearLocalFileName();
-
- // Stores the bool value for manually paused downloads
- void storeDownloadPaused(bool paused);
-
- // Returns the directory that acts as the user's desktop
- static rtl::OUString getDesktopDirectory();
-
- // Returns a directory accessible for all users
- static rtl::OUString getAllUsersDirectory();
-
- // store and retrieve information about extensions
- bool storeExtensionVersion( const rtl::OUString& rExtensionName,
- const rtl::OUString& rVersion );
- bool checkExtensionVersion( const rtl::OUString& rExtensionName,
- const rtl::OUString& rVersion );
-
- // XElementAccess
- virtual ::com::sun::star::uno::Type SAL_CALL getElementType( )
- throw (::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL hasElements( )
- throw (::com::sun::star::uno::RuntimeException);
-
- // XNameAccess
- virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName )
- throw (::com::sun::star::container::NoSuchElementException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames( )
- throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName )
- throw (::com::sun::star::uno::RuntimeException);
-
- // XNameReplace
- virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, const ::com::sun::star::uno::Any& aElement )
- throw (::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::container::NoSuchElementException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException);
-
- // XChangesBatch
- virtual void SAL_CALL commitChanges( )
- throw (::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL hasPendingChanges( )
- throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::util::ElementChange > SAL_CALL getPendingChanges( )
- throw (::com::sun::star::uno::RuntimeException);
-
- // XServiceInfo
- virtual rtl::OUString SAL_CALL getImplementationName()
- throw (::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL supportsService(rtl::OUString const & serviceName)
- throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames()
- throw (::com::sun::star::uno::RuntimeException);
-
-private:
-
- static rtl::OUString getSubVersion( const rtl::OUString& rVersion, sal_Int32 *nIndex );
- static bool isVersionGreater( const rtl::OUString& rVersion1, const rtl::OUString& rVersion2 );
-
- const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xContainer;
- const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xAvailableUpdates;
- const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xIgnoredUpdates;
- const ::rtl::Reference< UpdateCheckConfigListener > m_rListener;
-};
-
-//------------------------------------------------------------------------------
-
-
-template <typename T>
-T getValue( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& rNamedValues, const sal_Char * pszName )
- throw (::com::sun::star::uno::RuntimeException)
-{
- for( sal_Int32 n=0; n < rNamedValues.getLength(); n++ )
- {
- // Unfortunatly gcc-3.3 does not like Any.get<T>();
- if( rNamedValues[n].Name.equalsAscii( pszName ) )
- {
- T value = T();
- if( ! (rNamedValues[n].Value >>= value) )
- throw ::com::sun::star::uno::RuntimeException(
- ::rtl::OUString(
- cppu_Any_extraction_failure_msg(
- &rNamedValues[n].Value,
- ::cppu::getTypeFavourUnsigned(&value).getTypeLibType() ),
- SAL_NO_ACQUIRE ),
- ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >() );
-
- return value;
- }
- }
-
- return T();
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */