summaryrefslogtreecommitdiff
path: root/svtools/source/uno/miscservices.cxx
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2014-01-20 09:26:58 +0100
committerJan Holesovsky <kendy@collabora.com>2014-01-20 17:37:41 +0100
commit9bc2ab30e302c210b725e7035ea4d17774ef90e1 (patch)
tree41b86d069e539a7c5baaa51a04d4fe53762741ed /svtools/source/uno/miscservices.cxx
parent306efefe22e02248eff14f8be2cef68d75d26e55 (diff)
Revert "svt: Use constructor feature for FilePicker and FolderPicker..."
It does not make a real sense to use constructor for implementations that act as a trampoline; instead, we should do a constructor for the real implementations that hide behind it. This reverts commit 2fbb47156773b2e300fc987efc2da85c66e567d1. This reverts (part of) commit 58ea27124af27bfac21a796b0d13d72354bd0dd3. This reverts (part of) commit 194bdbde25dd70988c94ff5e1af43b530d47d94b. This reverts (part of) commit df002e39f7518036ae1c1d2afec7a525ef902327. This reverts (part of) commit eb89c6f7dcd613cda6a9eee6f7897225e0334a25. This reverts (part of) commit bdeb57c23973f3ef79020847b2fe39f312cf3c0b. This reverts (part of) commit 4337a0664f4fb73f9e1be74f2a632847871da402. Change-Id: Ibd9b1066f3b6ea215d8da9f491d5f026cd75b029
Diffstat (limited to 'svtools/source/uno/miscservices.cxx')
-rw-r--r--svtools/source/uno/miscservices.cxx77
1 files changed, 77 insertions, 0 deletions
diff --git a/svtools/source/uno/miscservices.cxx b/svtools/source/uno/miscservices.cxx
new file mode 100644
index 000000000000..3801ce783aff
--- /dev/null
+++ b/svtools/source/uno/miscservices.cxx
@@ -0,0 +1,77 @@
+/* -*- 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 .
+ */
+
+#include <sal/types.h>
+
+#include <cppuhelper/factory.hxx>
+#include <cppuhelper/implementationentry.hxx>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+
+#include "fpicker.hxx"
+
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::lang;
+
+namespace
+{
+ static const struct ::cppu::ImplementationEntry s_aServiceEntries[] =
+ {
+ {
+ // FilePicker should not use a constructor, it is only a
+ // trampoline to a real impl.
+ FilePicker_CreateInstance,
+ FilePicker_getImplementationName,
+ FilePicker_getSupportedServiceNames,
+ ::cppu::createSingleComponentFactory, 0, 0
+ },
+ {
+ // FolderPicker should not use a constructor, it is only a
+ // trampoline to a real impl.
+ FolderPicker_CreateInstance,
+ FolderPicker_getImplementationName,
+ FolderPicker_getSupportedServiceNames,
+ ::cppu::createSingleComponentFactory, 0, 0
+ },
+ { 0, 0, 0, 0, 0, 0 }
+ };
+}
+
+extern "C"
+{
+
+SAL_DLLPUBLIC_EXPORT void * SAL_CALL svt_component_getFactory(
+ const sal_Char * pImplementationName, void * _pServiceManager, void * pRegistryKey)
+{
+ void * pResult = 0;
+ if (_pServiceManager)
+ {
+ Reference< XMultiServiceFactory > xSMgr(reinterpret_cast< XMultiServiceFactory * >(_pServiceManager));
+
+ pResult = cppu::component_getFactoryHelper(pImplementationName,
+ _pServiceManager,
+ pRegistryKey,
+ s_aServiceEntries);
+ }
+ return pResult;
+}
+
+} // extern "C"
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */