summaryrefslogtreecommitdiff
path: root/configmgr/source/treecache/cachewritescheduler.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'configmgr/source/treecache/cachewritescheduler.hxx')
-rw-r--r--configmgr/source/treecache/cachewritescheduler.hxx128
1 files changed, 0 insertions, 128 deletions
diff --git a/configmgr/source/treecache/cachewritescheduler.hxx b/configmgr/source/treecache/cachewritescheduler.hxx
deleted file mode 100644
index 135b897da634..000000000000
--- a/configmgr/source/treecache/cachewritescheduler.hxx
+++ /dev/null
@@ -1,128 +0,0 @@
-/*************************************************************************
- *
- * 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: cachewritescheduler.hxx,v $
- * $Revision: 1.7 $
- *
- * 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 CONFIGMGR_CACHEWRITESCHEDULER_HXX
-#define CONFIGMGR_CACHEWRITESCHEDULER_HXX
-
-#include "datalock.hxx"
-#include "requestoptions.hxx"
-#include "timestamp.hxx"
-#include "utility.hxx"
-
-#ifndef INCLUDED_SET
-#include <set>
-#define INCLUDED_SET
-#endif
-#include <vos/timer.hxx>
-#ifndef _VOS_REF_HXX_
-#include <vos/ref.hxx>
-
-#endif
-#include <osl/mutex.hxx>
-
-// -----------------------------------------------------------------------------
-namespace configmgr
-{
- class RequestOptions;
- namespace backend { class ComponentRequest; class CacheController; }
-
- // Write down the Cache, much less complex than caching Nodes
- // (better control)
- class OCacheWriteScheduler
- {
- typedef std::set< RequestOptions, lessRequestOptions > CacheWriteList; // fire and forget!
-
- class Timer : public vos::OTimer
- {
- public:
- OCacheWriteScheduler* pParent;
-
- Timer(OCacheWriteScheduler& _rParent) : pParent(&_rParent) {};
-
- // vos::OTimer
- virtual void SAL_CALL onShot();
-
- // stop the scheduling
- void dispose() {
- stop();
- pParent = NULL;
- }
-
- };
- friend void Timer::onShot();
- private:
- vos::ORef<Timer> m_xTimer;
- backend::CacheController &m_rTreeManager;
- CacheWriteList m_aWriteList;
- TimeInterval m_aWriteInterval;
-
- public:
- //-------- Construction and destruction -----------------------------------
- explicit
- OCacheWriteScheduler(backend::CacheController& _rTreeManager, TimeInterval const& _aWriteInterval)
- : m_rTreeManager(_rTreeManager)
- , m_aWriteInterval(_aWriteInterval)
- {
- m_xTimer = new Timer(*this);
- }
- ~OCacheWriteScheduler();
-
- //-------- Delay and Interval ---------------------------------------------
- /// retrieves the recurrance interval used for cleanup
- TimeInterval const& getWriteInterval() const
- {
- UnoApiLock aLock;
- return m_aWriteInterval;
- }
-
- static TimeStamp implGetScheduleTime(TimeStamp const& aBaseTime, TimeInterval const& aDelay)
- {
- return aBaseTime + aDelay;
- }
- //-------- Control of execution ------------------------------------------
- void scheduleWrite(backend::ComponentRequest _aComponent) SAL_THROW((com::sun::star::uno::Exception));
-
- /// stop pending activities for one set of options (do not discard them)
- bool clearTasks(RequestOptions const& _xOptions);
-
- /// stop and discard pending activities
- void stopAndWriteCache();
- private:
- // vos::OTimer
- void onTimerShot();
-
- void runWriter();
- void implStartBefore(TimeStamp const& _aTime);
- void writeOneTreeFoundByOption(RequestOptions const& _aOption) SAL_THROW((com::sun::star::uno::Exception));
- };
-} // namespace configmgr
-
-#endif // CONFIGMGR_DISPOSETIMER_HXX
-