summaryrefslogtreecommitdiff
path: root/salhelper
diff options
context:
space:
mode:
authorThorsten Behrens <tbehrens@suse.com>2012-12-04 12:36:09 +0100
committerThorsten Behrens <tbehrens@suse.com>2012-12-04 12:38:09 +0100
commitd911673a64250ece50f6ca5578385adabcae5e5d (patch)
tree268d926b6fe13ea891b0a0f61f1bbc178e2f52ae /salhelper
parent2d655683dda815021011d9dd135a263f0003bed5 (diff)
API CHANGE: remove long-deprecated Semaphore & related stuff.
osl::semaphore was not portable & thusly long-deprecated. Also killing further unused clients of that code in salhelper. Change-Id: Ie1c1924e06e8ce3be33fd1dc2c6933f2de8b5217
Diffstat (limited to 'salhelper')
-rw-r--r--salhelper/Package_inc.mk3
-rw-r--r--salhelper/inc/salhelper/future.hxx114
-rw-r--r--salhelper/inc/salhelper/futurequeue.hxx102
-rw-r--r--salhelper/inc/salhelper/queue.hxx178
4 files changed, 0 insertions, 397 deletions
diff --git a/salhelper/Package_inc.mk b/salhelper/Package_inc.mk
index 4950c69d7311..7a30c7fc967d 100644
--- a/salhelper/Package_inc.mk
+++ b/salhelper/Package_inc.mk
@@ -30,10 +30,7 @@ $(eval $(call gb_Package_Package,salhelper_inc,$(SRCDIR)/salhelper/inc/salhelper
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/salhelperdllapi.h,salhelperdllapi.h))
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/condition.hxx,condition.hxx))
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/dynload.hxx,dynload.hxx))
-$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/future.hxx,future.hxx))
-$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/futurequeue.hxx,futurequeue.hxx))
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/linkhelper.hxx,linkhelper.hxx))
-$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/queue.hxx,queue.hxx))
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/refobj.hxx,refobj.hxx))
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/simplereferenceobject.hxx,simplereferenceobject.hxx))
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/singletonref.hxx,singletonref.hxx))
diff --git a/salhelper/inc/salhelper/future.hxx b/salhelper/inc/salhelper/future.hxx
deleted file mode 100644
index 0b97fd158ab6..000000000000
--- a/salhelper/inc/salhelper/future.hxx
+++ /dev/null
@@ -1,114 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _SALHELPER_FUTURE_HXX_
-#define _SALHELPER_FUTURE_HXX_
-
-#include <sal/types.h>
-#include <osl/diagnose.h>
-#include <osl/conditn.hxx>
-#include <salhelper/refobj.hxx>
-
-namespace salhelper
-{
-
-//----------------------------------------------------------------------------
-
-#ifndef SALHELPER_COPYCTOR_API
-#define SALHELPER_COPYCTOR_API(C) C (const C&); C& operator= (const C&)
-#endif
-
-//----------------------------------------------------------------------------
-
-template<class value_type>
-class FutureValue : protected osl::Condition
-{
- /** Representation.
- */
- value_type m_aValue;
-
- /** Not implemented.
- */
- SALHELPER_COPYCTOR_API(FutureValue<value_type>);
-
-public:
- inline FutureValue (const value_type& value = value_type()) SAL_THROW(())
- : m_aValue (value)
- {
- Condition::reset();
- }
-
- inline ~FutureValue() SAL_THROW(())
- {}
-
- inline sal_Bool is() const SAL_THROW(())
- {
- return const_cast<FutureValue*>(this)->check();
- }
-
- inline void set (const value_type& value) SAL_THROW(())
- {
- m_aValue = value;
- Condition::set();
- }
-
- inline value_type& get() SAL_THROW(())
- {
- Condition::wait();
- return m_aValue;
- }
-};
-
-//----------------------------------------------------------------------------
-
-template<class value_type>
-class Future : public salhelper::ReferenceObject
-{
- /** Representation.
- */
- FutureValue<value_type> m_aValue;
-
- /** Not implemented.
- */
- SALHELPER_COPYCTOR_API(Future<value_type>);
-
-public:
- inline Future (const value_type& value = value_type()) SAL_THROW(())
- : m_aValue (value)
- {}
-
- inline void set (const value_type& value) SAL_THROW(())
- {
- OSL_PRECOND(!m_aValue.is(), "Future::set(): value already set");
- m_aValue.set (value);
- }
-
- inline value_type& get() SAL_THROW(())
- {
- return m_aValue.get();
- }
-};
-
-//----------------------------------------------------------------------------
-
-} // namespace salhelper
-
-#endif /* !_SALHELPER_FUTURE_HXX_ */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/salhelper/inc/salhelper/futurequeue.hxx b/salhelper/inc/salhelper/futurequeue.hxx
deleted file mode 100644
index c54a6a335a92..000000000000
--- a/salhelper/inc/salhelper/futurequeue.hxx
+++ /dev/null
@@ -1,102 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _SALHELPER_FUTUREQUEUE_HXX_
-#define _SALHELPER_FUTUREQUEUE_HXX_
-
-#include <sal/types.h>
-#include <rtl/ref.hxx>
-#include <osl/mutex.hxx>
-#include <salhelper/future.hxx>
-#include <salhelper/queue.hxx>
-
-namespace salhelper
-{
-
-//----------------------------------------------------------------------------
-
-#ifndef SALHELPER_COPYCTOR_API
-#define SALHELPER_COPYCTOR_API(C) C (const C&); C& operator= (const C&)
-#endif
-
-//----------------------------------------------------------------------------
-
-template<class element_type>
-class FutureQueue : protected osl::Mutex
-{
- /** Representation.
- */
- typedef salhelper::Future<element_type> future_type;
-
- salhelper::QueueBase< rtl::Reference<future_type> > m_aDelayed;
- salhelper::QueueBase< rtl::Reference<future_type> > m_aPresent;
-
- /** Not implemented.
- */
- SALHELPER_COPYCTOR_API(FutureQueue<element_type>);
-
-public:
- /** Construction.
- */
- inline FutureQueue()
- {}
-
- /** Destruction.
- */
- inline ~FutureQueue()
- {}
-
- /** Enqueue element at queue tail.
- */
- inline void put (const element_type& element)
- {
- osl::MutexGuard aGuard (*this);
-
- rtl::Reference<future_type> xFuture (m_aDelayed.get());
- if (!xFuture.is())
- {
- xFuture = new future_type();
- m_aPresent.put (xFuture);
- }
- xFuture->set (element);
- }
-
- /** Dequeue a future to element at queue head.
- */
- inline rtl::Reference< salhelper::Future<element_type> > get()
- {
- osl::MutexGuard aGuard (*this);
-
- rtl::Reference<future_type> xFuture (m_aPresent.get());
- if (!xFuture.is())
- {
- xFuture = new future_type();
- m_aDelayed.put (xFuture);
- }
- return (xFuture);
- }
-};
-
-//----------------------------------------------------------------------------
-
-} // namespace salhelper
-
-#endif /* !_SALHELPER_FUTUREQUEUE */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/salhelper/inc/salhelper/queue.hxx b/salhelper/inc/salhelper/queue.hxx
deleted file mode 100644
index 444b09fb5037..000000000000
--- a/salhelper/inc/salhelper/queue.hxx
+++ /dev/null
@@ -1,178 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _SALHELPER_QUEUE_HXX_
-#define _SALHELPER_QUEUE_HXX_
-
-#include <sal/types.h>
-#include <osl/diagnose.h>
-#include <osl/mutex.hxx>
-#include <osl/semaphor.hxx>
-
-#ifndef __LIST__
-#include <list>
-#endif
-
-namespace salhelper
-{
-
-//----------------------------------------------------------------------------
-
-#ifndef SALHELPER_COPYCTOR_API
-#define SALHELPER_COPYCTOR_API(C) C (const C&); C& operator= (const C&)
-#endif
-
-//----------------------------------------------------------------------------
-
-template<class element_type>
-class QueueBase : protected std::list<element_type>
-{
- /** Representation.
- */
- osl::Mutex m_aMutex;
-
- /** Not implemented.
- */
- SALHELPER_COPYCTOR_API(QueueBase<element_type>);
-
-public:
- inline QueueBase()
- {}
-
- inline ~QueueBase()
- {
- erase (this->begin(), this->end());
- }
-
- inline void put (const element_type& element)
- {
- osl::MutexGuard aGuard (m_aMutex);
- push_back (element);
- }
-
- inline element_type get()
- {
- element_type element;
-
- osl::MutexGuard aGuard (m_aMutex);
- if (!this->empty())
- {
- element = this->front();
- this->pop_front();
- }
-
- return (element);
- }
-};
-
-//----------------------------------------------------------------------------
-
-/** Queue.
-
- @deprecated
- Must not be used, as it internally uses unnamed semaphores, which are not
- supported on Mac OS X.
-*/
-template<class element_type>
-class Queue : protected QueueBase<element_type>
-{
- /** Representation.
- */
- osl::Semaphore m_aNotEmpty;
-
- /** Not implemented.
- */
- SALHELPER_COPYCTOR_API(Queue<element_type>);
-
-public:
- inline Queue() : m_aNotEmpty (static_cast< sal_uInt32 >(0))
- {}
-
- inline ~Queue()
- {}
-
- inline void put (const element_type& element)
- {
- QueueBase<element_type>::put (element);
- m_aNotEmpty.release();
- }
-
- inline element_type get()
- {
- element_type element;
-
- m_aNotEmpty.acquire();
- element = QueueBase<element_type>::get();
-
- return (element);
- }
-};
-
-//----------------------------------------------------------------------------
-
-/** Bounded queue.
-
- @deprecated
- Must not be used, as it internally uses unnamed semaphores, which are not
- supported on Mac OS X.
-*/
-template<class element_type>
-class BoundedQueue : protected Queue<element_type>
-{
- /** Representation.
- */
- osl::Semaphore m_aNotFull;
-
- /** Not implemented.
- */
- SALHELPER_COPYCTOR_API(BoundedQueue<element_type>);
-
-public:
- inline BoundedQueue (sal_uInt32 capacity) : m_aNotFull (capacity)
- {
- OSL_POSTCOND(capacity, "BoundedQueue:BoundedQueue(): no capacity");
- }
-
- inline ~BoundedQueue()
- {}
-
- inline void put (const element_type& element)
- {
- m_aNotFull.acquire();
- Queue<element_type>::put (element);
- }
-
- inline element_type get()
- {
- element_type element;
-
- element = Queue<element_type>::get();
- m_aNotFull.release();
-
- return (element);
- }
-};
-
-//----------------------------------------------------------------------------
-
-} // namespace salhelper
-
-#endif /* !_SALHELPER_QUEUE_HXX_ */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */