summaryrefslogtreecommitdiff
path: root/framework/inc/services
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@collabora.com>2014-01-22 18:39:49 +0100
committerMatúš Kukan <matus.kukan@collabora.com>2014-02-11 11:28:55 +0100
commitc864bd31056677277919078c4fd04966ef8b14de (patch)
treec448db016034a15a6e40c6fd4f0b00a9ecafde32 /framework/inc/services
parent72139db6b421fea2980e9c8df96bc70463777623 (diff)
fwk: Constructor feature for one instance ContextChangeEventMultiplexer.
Change-Id: Ibb89e4dd46fc5d1f8a85f96b7e4677fa764bb112
Diffstat (limited to 'framework/inc/services')
-rw-r--r--framework/inc/services/ContextChangeEventMultiplexer.hxx139
1 files changed, 0 insertions, 139 deletions
diff --git a/framework/inc/services/ContextChangeEventMultiplexer.hxx b/framework/inc/services/ContextChangeEventMultiplexer.hxx
deleted file mode 100644
index 1d7e2b150973..000000000000
--- a/framework/inc/services/ContextChangeEventMultiplexer.hxx
+++ /dev/null
@@ -1,139 +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 INCLUDED_FRAMEWORK_INC_SERVICES_CONTEXTCHANGEEVENTMULTIPLEXER_HXX
-#define INCLUDED_FRAMEWORK_INC_SERVICES_CONTEXTCHANGEEVENTMULTIPLEXER_HXX
-
-#include <com/sun/star/ui/XContextChangeEventMultiplexer.hpp>
-
-#include <cppuhelper/compbase4.hxx>
-#include <cppuhelper/basemutex.hxx>
-
-#include "macros/xserviceinfo.hxx"
-
-#include <map>
-#include <boost/noncopyable.hpp>
-
-
-namespace
-{
- typedef ::cppu::WeakComponentImplHelper4 <
- css::ui::XContextChangeEventMultiplexer,
- css::lang::XSingleComponentFactory,
- css::lang::XServiceInfo,
- css::lang::XEventListener
- > ContextChangeEventMultiplexerInterfaceBase;
-}
-
-
-namespace cssu = ::com::sun::star::uno;
-namespace cssl = ::com::sun::star::lang;
-
-namespace framework {
-
-class ContextChangeEventMultiplexer
- : private ::boost::noncopyable,
- private ::cppu::BaseMutex,
- public ContextChangeEventMultiplexerInterfaceBase
-{
-public:
- ContextChangeEventMultiplexer(const cssu::Reference<css::uno::XComponentContext>& rxContext);
- virtual ~ContextChangeEventMultiplexer (void);
-
- virtual void SAL_CALL disposing (void);
-
- // XContextChangeEventMultiplexer
- virtual void SAL_CALL addContextChangeEventListener (
- const cssu::Reference<css::ui::XContextChangeEventListener>& rxListener,
- const cssu::Reference<cssu::XInterface>& rxEventFocus)
- throw(cssu::RuntimeException, cssl::IllegalArgumentException);
- virtual void SAL_CALL removeContextChangeEventListener (
- const cssu::Reference<css::ui::XContextChangeEventListener>& rxListener,
- const cssu::Reference<cssu::XInterface>& rxEventFocus)
- throw(cssu::RuntimeException, cssl::IllegalArgumentException);
- virtual void SAL_CALL removeAllContextChangeEventListeners (
- const cssu::Reference<css::ui::XContextChangeEventListener>& rxListener)
- throw(cssu::RuntimeException, cssl::IllegalArgumentException);
- virtual void SAL_CALL broadcastContextChangeEvent (
- const css::ui::ContextChangeEventObject& rContextChangeEventObject,
- const cssu::Reference<cssu::XInterface>& rxEventFocus)
- throw(cssu::RuntimeException);
-
- // XSingleComponentFactory
- virtual cssu::Reference<cssu::XInterface> SAL_CALL createInstanceWithContext (
- const cssu::Reference<cssu::XComponentContext>& rxContext)
- throw (cssu::Exception, cssu::RuntimeException);
- virtual cssu::Reference<cssu::XInterface > SAL_CALL createInstanceWithArgumentsAndContext (
- const cssu::Sequence<cssu::Any>& rArguments,
- const cssu::Reference<cssu::XComponentContext>& rxContext)
- throw (cssu::Exception, cssu::RuntimeException);
-
- // XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName (void)
- throw (cssu::RuntimeException);
- virtual sal_Bool SAL_CALL supportsService (
- const ::rtl::OUString& rsServiceName)
- throw (cssu::RuntimeException);
- virtual cssu::Sequence< ::rtl::OUString> SAL_CALL getSupportedServiceNames (void)
- throw (cssu::RuntimeException);
-
- // XEventListener
- virtual void SAL_CALL disposing (
- const css::lang::EventObject& rEvent)
- throw (cssu::RuntimeException);
-
- static ::rtl::OUString SAL_CALL impl_getStaticImplementationName (void);
- static cssu::Reference<cssu::XInterface> SAL_CALL impl_createFactory (
- const cssu::Reference<cssl::XMultiServiceFactory>& xServiceManager);
-
-private:
- typedef ::std::vector<cssu::Reference<css::ui::XContextChangeEventListener> > ListenerContainer;
- class FocusDescriptor
- {
- public:
- ListenerContainer maListeners;
- ::rtl::OUString msCurrentApplicationName;
- ::rtl::OUString msCurrentContextName;
- };
- typedef ::std::map<cssu::Reference<cssu::XInterface>, FocusDescriptor> ListenerMap;
- ListenerMap maListeners;
-
- /** Notify all listeners in the container that is associated with
- the given event focus.
-
- Typically called twice from broadcastEvent(), once for the
- given event focus and onece for NULL.
- */
- void BroadcastEventToSingleContainer (
- const css::ui::ContextChangeEventObject& rEventObject,
- const cssu::Reference<cssu::XInterface>& rxEventFocus);
- FocusDescriptor* GetFocusDescriptor (
- const cssu::Reference<cssu::XInterface>& rxEventFocus,
- const bool bCreateWhenMissing);
-
- static cssu::Sequence< ::rtl::OUString > SAL_CALL static_GetSupportedServiceNames (void);
- static cssu::Reference<cssu::XInterface> SAL_CALL static_CreateInstance (
- const cssu::Reference<cssu::XComponentContext>& rxComponentContext)
- throw (cssu::Exception);
-};
-
-} // end of namespace framework
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */