summaryrefslogtreecommitdiff
path: root/sc/source/ui/vba/service.cxx
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2007-04-25 15:00:29 +0000
committerRüdiger Timm <rt@openoffice.org>2007-04-25 15:00:29 +0000
commite1984a3bcbcc8611d74adf43ff9e0266feb8665c (patch)
tree2c6020a6f0b42cca7b7f6c4b3ba387e28824545d /sc/source/ui/vba/service.cxx
parente9a2bf0302deebe1b239c4adc8c4b26938434c67 (diff)
INTEGRATION: CWS npower6 (1.1.2); FILE ADDED
2007/02/27 23:29:39 npower 1.1.2.4: #i74096 get rid of warnings windows 2007/02/27 22:37:53 npower 1.1.2.3: #i74096 get rid of warnings linux 2007/02/21 17:29:15 npower 1.1.2.2: #i74096 add license 2007/02/07 21:17:46 npower 1.1.2.1: #i74096# add compatibility api implementation
Diffstat (limited to 'sc/source/ui/vba/service.cxx')
-rw-r--r--sc/source/ui/vba/service.cxx122
1 files changed, 122 insertions, 0 deletions
diff --git a/sc/source/ui/vba/service.cxx b/sc/source/ui/vba/service.cxx
new file mode 100644
index 000000000000..a47fd8fa18ce
--- /dev/null
+++ b/sc/source/ui/vba/service.cxx
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: service.cxx,v $
+ *
+ * $Revision: 1.2 $
+ *
+ * last change: $Author: rt $ $Date: 2007-04-25 16:00:29 $
+ *
+ * The Contents of this file are made available subject to
+ * the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2005 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ ************************************************************************/
+#include "cppuhelper/implementationentry.hxx"
+#include "com/sun/star/lang/XMultiServiceFactory.hpp"
+#include "com/sun/star/registry/XRegistryKey.hpp"
+
+// =============================================================================
+// component exports
+// =============================================================================
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::uno;
+
+namespace vbaobj
+{
+ // =============================================================================
+ // component operations
+ // =============================================================================
+
+ uno::Reference< XInterface > SAL_CALL create(
+ Reference< XComponentContext > const & xContext )
+ SAL_THROW( () );
+
+ // -----------------------------------------------------------------------------
+
+ ::rtl::OUString SAL_CALL getImplementationName();
+
+ Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames();
+
+// Reference<XInterface> SAL_CALL create(
+// Sequence<Any> const &, Reference<XComponentContext> const & );
+} // end namespace vbaobj
+
+
+ // =============================================================================
+
+ const ::cppu::ImplementationEntry s_component_entries [] =
+ {
+ {
+ ::vbaobj::create, ::vbaobj::getImplementationName,
+ ::vbaobj::getSupportedServiceNames,
+ ::cppu::createSingleComponentFactory,
+ 0, 0
+ },
+ { 0, 0, 0, 0, 0, 0 }
+ };
+
+extern "C"
+{
+ void SAL_CALL component_getImplementationEnvironment(
+ const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
+ {
+ OSL_TRACE("In component_getImplementationEnv");
+ *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
+ }
+
+ sal_Bool SAL_CALL component_writeInfo(
+ lang::XMultiServiceFactory * pServiceManager, registry::XRegistryKey * pRegistryKey )
+ {
+ OSL_TRACE("In component_writeInfo");
+ if ( ::cppu::component_writeInfoHelper(
+ pServiceManager, pRegistryKey, s_component_entries ) )
+ {
+ try
+ {
+ registry::XRegistryKey * pKey =
+ reinterpret_cast< registry::XRegistryKey * >(pRegistryKey);
+
+ Reference< registry::XRegistryKey >xKey = pKey->createKey(
+ rtl::OUString::createFromAscii( ("org.openoffice.vba.Globals/UNO/SINGLETONS/org.openoffice.vba.theGlobals") ) );
+ xKey->setStringValue( ::rtl::OUString::createFromAscii(
+ ("org.openoffice.vba.Globals") ) );
+ return sal_True;
+ }
+ catch( uno::Exception& /*e*/ )
+ {
+ //recomp & friends will detect false returned and fail
+ }
+ }
+ return sal_False;
+ }
+
+ void * SAL_CALL component_getFactory(
+ const sal_Char * pImplName, lang::XMultiServiceFactory * pServiceManager,
+ registry::XRegistryKey * pRegistryKey )
+ {
+ OSL_TRACE("In component_getFactory");
+ return ::cppu::component_getFactoryHelper(
+ pImplName, pServiceManager, pRegistryKey, s_component_entries );
+ }
+}