summaryrefslogtreecommitdiff
path: root/extensions/source/update/check/updatecheck.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/source/update/check/updatecheck.hxx')
-rw-r--r--extensions/source/update/check/updatecheck.hxx197
1 files changed, 0 insertions, 197 deletions
diff --git a/extensions/source/update/check/updatecheck.hxx b/extensions/source/update/check/updatecheck.hxx
deleted file mode 100644
index 00d3ede1f..000000000
--- a/extensions/source/update/check/updatecheck.hxx
+++ /dev/null
@@ -1,197 +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 <com/sun/star/beans/NamedValue.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/task/XInteractionHandler.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
-
-#include <osl/conditn.hxx>
-#include <osl/thread.hxx>
-#include <rtl/instance.hxx>
-#include <salhelper/refobj.hxx>
-
-#include "updateinfo.hxx"
-#include "updatecheckconfiglistener.hxx"
-#include "actionlistener.hxx"
-#include "updatehdl.hxx"
-#include "download.hxx"
-
-
-class UpdateCheck;
-class UpdateCheckConfig;
-
-class UpdateCheckInitData {
-
-public:
- inline rtl::Reference< UpdateCheck > SAL_CALL operator() () const;
-};
-
-class WorkerThread : public osl::Thread
-{
-public:
- virtual void SAL_CALL cancel() = 0;
-};
-
-class UpdateCheck :
- public UpdateCheckConfigListener,
- public IActionListener,
- public DownloadInteractionHandler,
- public salhelper::ReferenceObject,
- public rtl::StaticWithInit< rtl::Reference< UpdateCheck >, UpdateCheckInitData >
-{
- UpdateCheck() : m_eState(NOT_INITIALIZED), m_eUpdateState(UPDATESTATES_COUNT), m_pThread(NULL) {};
-
-public:
- inline SAL_CALL operator rtl::Reference< UpdateCheckConfigListener > ()
- { return static_cast< UpdateCheckConfigListener * > (this); }
-
- void initialize(const com::sun::star::uno::Sequence<com::sun::star::beans::NamedValue>& rValues,
- const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>& xContext);
-
- /* Returns an instance of the specified service obtained from the specified
- * component context
- */
-
- static com::sun::star::uno::Reference< com::sun::star::uno::XInterface > createService(
- const rtl::OUString& aServiceName,
- const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>& xContext);
-
- // Update internal update info member
- void setUpdateInfo(const UpdateInfo& aInfo);
-
- /* This method turns on the menubar icon, triggers the bubble window or
- * updates the dialog text when appropriate
- */
- void setUIState(UpdateState eState, bool suppressBubble = false);
-
- // Returns the UI state that matches rInfo best
- static UpdateState getUIState(const UpdateInfo& rInfo);
-
- // Check for updates failed
- void setCheckFailedState();
-
- // Executes the update check dialog for manual checks and downloads interaction
- void showDialog(bool forceCheck = false);
-
- // Returns true if the update dialog is currently showing
- bool isDialogShowing() const;
- bool shouldShowExtUpdDlg() const { return ( m_bShowExtUpdDlg && m_bHasExtensionUpdate ); }
- void showExtensionDialog();
- void setHasExtensionUpdates( bool bHasUpdates ) { m_bHasExtensionUpdate = bHasUpdates; }
- bool hasOfficeUpdate() const { return (m_aUpdateInfo.BuildId.getLength() > 0); }
-
- // DownloadInteractionHandler
- virtual bool downloadTargetExists(const rtl::OUString& rFileName);
- virtual void downloadStalled(const rtl::OUString& rErrorMessage);
- virtual void downloadProgressAt(sal_Int8 nProcent);
- virtual void downloadStarted(const rtl::OUString& rLocalFileName, sal_Int64 nFileSize);
- virtual void downloadFinished(const rtl::OUString& rLocalFileName);
- // checks if the download target already exists and asks user what to do next
- virtual bool checkDownloadDestination( const rtl::OUString& rFile );
-
- // Cancels the download action (and resumes checking if enabled)
- void cancelDownload();
-
- // Returns the XInteractionHandler of the UpdateHandler instance if present (and visible)
- com::sun::star::uno::Reference< com::sun::star::task::XInteractionHandler > getInteractionHandler() const;
-
- // UpdateCheckConfigListener
- virtual void autoCheckStatusChanged(bool enabled);
- virtual void autoCheckIntervalChanged();
-
- // IActionListener
- void cancel();
- void download();
- void install();
- void pause();
- void resume();
- void closeAfterFailure();
-
- // rtl::IReference
- virtual oslInterlockedCount SAL_CALL acquire() SAL_THROW(());
- virtual oslInterlockedCount SAL_CALL release() SAL_THROW(());
-
-private:
-
- // Schedules or cancels next automatic check for updates
- void enableAutoCheck(bool enable);
-
- // Starts/resumes or stops a download
- void enableDownload(bool enable, bool paused=false);
-
- // Shuts down the currently running thread
- void shutdownThread(bool join);
-
- // Returns the update handler instance
- rtl::Reference<UpdateHandler> getUpdateHandler();
-
- // Open the given URL in a browser
- void showReleaseNote(const rtl::OUString& rURL) const;
-
- // stores the release note url on disk to be used by setup app
- static bool storeReleaseNote(sal_Int8 nNum, const rtl::OUString &rURL);
-
- /* This method turns on the menubar icon and triggers the bubble window
- */
- void handleMenuBarUI( rtl::Reference< UpdateHandler > rUpdateHandler,
- UpdateState& eState, bool suppressBubble );
- enum State {
- NOT_INITIALIZED,
- DISABLED,
- CHECK_SCHEDULED,
- DOWNLOADING,
- DOWNLOAD_PAUSED
- };
-
- State m_eState;
- UpdateState m_eUpdateState;
-
- mutable osl::Mutex m_aMutex;
- WorkerThread *m_pThread;
- osl::Condition m_aCondition;
-
- UpdateInfo m_aUpdateInfo;
- rtl::OUString m_aImageName;
- bool m_bHasExtensionUpdate;
- bool m_bShowExtUpdDlg;
-
- rtl::Reference<UpdateHandler> m_aUpdateHandler;
- com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet> m_xMenuBarUI;
- com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> m_xContext;
-
- friend class UpdateCheckInitData;
-};
-
-inline rtl::Reference< UpdateCheck > SAL_CALL
-UpdateCheckInitData::operator() () const
-{
- return rtl::Reference< UpdateCheck > (new UpdateCheck());
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */