summaryrefslogtreecommitdiff
path: root/extensions/source
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/source')
-rw-r--r--extensions/source/bibliography/framectr.cxx2
-rw-r--r--extensions/source/inc/componentmodule.hxx2
-rw-r--r--extensions/source/logging/loghandler.hxx4
-rw-r--r--extensions/source/macosx/spotlight/OOoContentDataParser.m2
-rw-r--r--extensions/source/macosx/spotlight/unzip.h4
-rw-r--r--extensions/source/macosx/spotlight/unzip.m6
-rw-r--r--extensions/source/mozbootstrap/MMozillaBootstrap.cxx233
-rw-r--r--extensions/source/mozbootstrap/MMozillaBootstrap.hxx97
-rw-r--r--extensions/source/mozbootstrap/MNSFolders.cxx147
-rw-r--r--extensions/source/mozbootstrap/MNSFolders.hxx39
-rw-r--r--extensions/source/mozbootstrap/MNSINIParser.cxx133
-rw-r--r--extensions/source/mozbootstrap/MNSINIParser.hxx79
-rw-r--r--extensions/source/mozbootstrap/MNSProfileDiscover.cxx221
-rw-r--r--extensions/source/mozbootstrap/MNSProfileDiscover.hxx98
-rw-r--r--extensions/source/mozbootstrap/makefile.mk76
-rw-r--r--extensions/source/mozbootstrap/mozbootstrap.component27
-rw-r--r--extensions/source/ole/unoconversionutilities.hxx6
-rw-r--r--extensions/source/ole/unoobjw.cxx6
-rw-r--r--extensions/source/oooimprovement/myconfigurationhelper.hxx8
-rw-r--r--extensions/source/propctrlr/browserlistbox.cxx2
-rw-r--r--extensions/source/propctrlr/cellbindinghandler.hxx2
-rw-r--r--extensions/source/propctrlr/cellbindinghelper.hxx6
-rw-r--r--extensions/source/propctrlr/eventhandler.cxx2
-rw-r--r--extensions/source/propctrlr/eventhandler.hxx6
-rw-r--r--extensions/source/propctrlr/fontdialog.cxx2
-rw-r--r--extensions/source/propctrlr/formcomponenthandler.cxx2
-rw-r--r--extensions/source/propctrlr/formcomponenthandler.hxx2
-rw-r--r--extensions/source/propctrlr/pcrcomponentcontext.hxx4
-rw-r--r--extensions/source/scanner/twain.cxx2
-rw-r--r--extensions/source/update/check/download.cxx2
-rw-r--r--extensions/source/update/check/updatecheck.cxx2
-rwxr-xr-xextensions/source/update/check/updatecheckconfig.hxx4
-rw-r--r--extensions/source/update/ui/updatecheckui.cxx2
33 files changed, 1190 insertions, 40 deletions
diff --git a/extensions/source/bibliography/framectr.cxx b/extensions/source/bibliography/framectr.cxx
index a2084b8ec073..2d03ac1b82b4 100644
--- a/extensions/source/bibliography/framectr.cxx
+++ b/extensions/source/bibliography/framectr.cxx
@@ -408,7 +408,7 @@ sal_Bool BibFrameController_Impl::SaveModified(const Reference< form::runtime::X
}
catch(Exception&)
{
- DBG_ERROR("SaveModified: Exception occured!");
+ DBG_ERROR("SaveModified: Exception occurred!");
}
bInserted = bIsNew && bResult;
diff --git a/extensions/source/inc/componentmodule.hxx b/extensions/source/inc/componentmodule.hxx
index dd0795f1e424..216722f41be8 100644
--- a/extensions/source/inc/componentmodule.hxx
+++ b/extensions/source/inc/componentmodule.hxx
@@ -24,7 +24,7 @@
#ifndef _EXTENSIONS_COMPONENT_MODULE_HXX_
#define _EXTENSIONS_COMPONENT_MODULE_HXX_
-/** you may find this file helpfull if you implement a component (in it's own library) which can't use
+/** you may find this file helpful if you implement a component (in it's own library) which can't use
the usual infrastructure.<br/>
More precise, you find helper classes to ease the use of resources and the registration of services.
<p>
diff --git a/extensions/source/logging/loghandler.hxx b/extensions/source/logging/loghandler.hxx
index 1d383eb13f9b..ca96a8fdc109 100644
--- a/extensions/source/logging/loghandler.hxx
+++ b/extensions/source/logging/loghandler.hxx
@@ -118,13 +118,13 @@ namespace logging
/** retrieves our formatter's heading, encoded with our encoding
- @return <TRUE/> in case of success, <FALSE/> if any error occured
+ @return <TRUE/> in case of success, <FALSE/> if any error occurred
*/
bool getEncodedHead( ::rtl::OString& _out_rHead ) const;
/** retrieves our formatter's tail, encoded with our encoding
- @return <TRUE/> in case of success, <FALSE/> if any error occured
+ @return <TRUE/> in case of success, <FALSE/> if any error occurred
*/
bool getEncodedTail( ::rtl::OString& _out_rTail ) const;
diff --git a/extensions/source/macosx/spotlight/OOoContentDataParser.m b/extensions/source/macosx/spotlight/OOoContentDataParser.m
index d9e3a452563c..39f37afbeb32 100644
--- a/extensions/source/macosx/spotlight/OOoContentDataParser.m
+++ b/extensions/source/macosx/spotlight/OOoContentDataParser.m
@@ -106,7 +106,7 @@
- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError
{
//NSLog(@"parsing finished with error");
- NSLog([NSString stringWithFormat:@"An error occured parsing the document. (Error %i, Description: %@, Line: %i, Column: %i)", [parseError code],
+ NSLog([NSString stringWithFormat:@"An error occurred parsing the document. (Error %i, Description: %@, Line: %i, Column: %i)", [parseError code],
[[parser parserError] localizedDescription], [parser lineNumber],
[parser columnNumber]]);
diff --git a/extensions/source/macosx/spotlight/unzip.h b/extensions/source/macosx/spotlight/unzip.h
index 90d234a5267c..5bcf349def09 100644
--- a/extensions/source/macosx/spotlight/unzip.h
+++ b/extensions/source/macosx/spotlight/unzip.h
@@ -143,8 +143,8 @@ extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1,
int iCaseSensitivity));
/*
Compare two filename (fileName1,fileName2).
- If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
- If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
+ If iCaseSenisivity = 1, comparison is case sensitivity (like strcmp)
+ If iCaseSenisivity = 2, comparison is not case sensitivity (like strcmpi
or strcasecmp)
If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
(like 1 on Unix, 2 on Windows)
diff --git a/extensions/source/macosx/spotlight/unzip.m b/extensions/source/macosx/spotlight/unzip.m
index 9c5b58ddf7ac..79035803ff2c 100644
--- a/extensions/source/macosx/spotlight/unzip.m
+++ b/extensions/source/macosx/spotlight/unzip.m
@@ -176,7 +176,7 @@ typedef struct
/* ===========================================================================
Read a byte from a gz_stream; update next_in and avail_in. Return EOF
for end of file.
- IN assertion: the stream s has been sucessfully opened for reading.
+ IN assertion: the stream s has been successfully opened for reading.
*/
@@ -312,8 +312,8 @@ local int strcmpcasenosensitive_internal (fileName1,fileName2)
/*
Compare two filename (fileName1,fileName2).
- If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
- If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
+ If iCaseSenisivity = 1, comparison is case sensitivity (like strcmp)
+ If iCaseSenisivity = 2, comparison is not case sensitivity (like strcmpi
or strcasecmp)
If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
(like 1 on Unix, 2 on Windows)
diff --git a/extensions/source/mozbootstrap/MMozillaBootstrap.cxx b/extensions/source/mozbootstrap/MMozillaBootstrap.cxx
new file mode 100644
index 000000000000..410c55df9a12
--- /dev/null
+++ b/extensions/source/mozbootstrap/MMozillaBootstrap.cxx
@@ -0,0 +1,233 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_extensions.hxx"
+
+#include "MMozillaBootstrap.hxx"
+
+using namespace com::sun::star::uno;
+using namespace com::sun::star::lang;
+using namespace com::sun::star::mozilla;
+using namespace connectivity::mozab;
+#include <MNSFolders.hxx>
+#include "MNSProfileDiscover.hxx"
+
+static MozillaBootstrap *pMozillaBootstrap=NULL;
+static Reference<XMozillaBootstrap> xMozillaBootstrap;
+extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL OMozillaBootstrap_CreateInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory)
+{
+ if (!pMozillaBootstrap)
+ {
+ pMozillaBootstrap=new connectivity::mozab::MozillaBootstrap( _rxFactory );
+ pMozillaBootstrap->Init();
+ xMozillaBootstrap = pMozillaBootstrap;
+ }
+ return pMozillaBootstrap;
+}
+
+// --------------------------------------------------------------------------------
+
+
+// --------------------------------------------------------------------------------
+MozillaBootstrap::MozillaBootstrap(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory)
+ : OMozillaBootstrap_BASE(m_aMutex), m_xMSFactory( _rxFactory )
+{
+}
+// -----------------------------------------------------------------------------
+MozillaBootstrap::~MozillaBootstrap()
+{
+}
+// -----------------------------------------------------------------------------
+void MozillaBootstrap::Init()
+{
+ sal_Bool aProfileExists=sal_False;
+
+ (void)aProfileExists; /* avoid warning about unused parameter */
+
+ m_ProfileAccess = new ProfileAccess();
+ bootupProfile(::com::sun::star::mozilla::MozillaProductType_Mozilla,rtl::OUString());
+}
+
+// --------------------------------------------------------------------------------
+void MozillaBootstrap::disposing()
+{
+ ::osl::MutexGuard aGuard(m_aMutex);
+ OMozillaBootstrap_BASE::disposing();
+}
+
+// static ServiceInfo
+//------------------------------------------------------------------------------
+rtl::OUString MozillaBootstrap::getImplementationName_Static( ) throw(RuntimeException)
+{
+ return rtl::OUString::createFromAscii(MOZAB_MozillaBootstrap_IMPL_NAME);
+}
+//------------------------------------------------------------------------------
+Sequence< ::rtl::OUString > MozillaBootstrap::getSupportedServiceNames_Static( ) throw (RuntimeException)
+{
+ // which service is supported
+ // for more information @see com.sun.star.mozilla.MozillaBootstrap
+ Sequence< ::rtl::OUString > aSNS( 1 );
+ aSNS[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.mozilla.MozillaBootstrap"));
+ return aSNS;
+}
+
+//------------------------------------------------------------------
+::rtl::OUString SAL_CALL MozillaBootstrap::getImplementationName( ) throw(RuntimeException)
+{
+ return getImplementationName_Static();
+}
+
+//------------------------------------------------------------------
+sal_Bool SAL_CALL MozillaBootstrap::supportsService( const ::rtl::OUString& _rServiceName ) throw(RuntimeException)
+{
+ Sequence< ::rtl::OUString > aSupported(getSupportedServiceNames());
+ const ::rtl::OUString* pSupported = aSupported.getConstArray();
+ const ::rtl::OUString* pEnd = pSupported + aSupported.getLength();
+ for (;pSupported != pEnd && !pSupported->equals(_rServiceName); ++pSupported)
+ ;
+
+ return pSupported != pEnd;
+}
+
+//------------------------------------------------------------------
+Sequence< ::rtl::OUString > SAL_CALL MozillaBootstrap::getSupportedServiceNames( ) throw(RuntimeException)
+{
+ return getSupportedServiceNames_Static();
+}
+
+
+// XProfileDiscover
+::sal_Int32 SAL_CALL MozillaBootstrap::getProfileCount( ::com::sun::star::mozilla::MozillaProductType product) throw (::com::sun::star::uno::RuntimeException)
+{
+ return m_ProfileAccess->getProfileCount(product);
+}
+::sal_Int32 SAL_CALL MozillaBootstrap::getProfileList( ::com::sun::star::mozilla::MozillaProductType product, ::com::sun::star::uno::Sequence< ::rtl::OUString >& list ) throw (::com::sun::star::uno::RuntimeException)
+{
+ return m_ProfileAccess->getProfileList(product,list);
+}
+::rtl::OUString SAL_CALL MozillaBootstrap::getDefaultProfile( ::com::sun::star::mozilla::MozillaProductType product ) throw (::com::sun::star::uno::RuntimeException)
+{
+ return m_ProfileAccess->getDefaultProfile(product);
+}
+::rtl::OUString SAL_CALL MozillaBootstrap::getProfilePath( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException)
+{
+ return m_ProfileAccess->getProfilePath(product,profileName);
+}
+::sal_Bool SAL_CALL MozillaBootstrap::isProfileLocked( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException)
+{
+ return m_ProfileAccess->isProfileLocked(product,profileName);
+}
+::sal_Bool SAL_CALL MozillaBootstrap::getProfileExists( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException)
+{
+ return m_ProfileAccess->getProfileExists(product,profileName);
+}
+
+// XProfileManager
+::sal_Int32 SAL_CALL MozillaBootstrap::bootupProfile( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException)
+{
+ (void)product; /* avoid warning about unused parameter */
+ (void)profileName; /* avoid warning about unused parameter */
+ return -1;
+}
+::sal_Int32 SAL_CALL MozillaBootstrap::shutdownProfile( ) throw (::com::sun::star::uno::RuntimeException)
+{
+ return -1;
+}
+::com::sun::star::mozilla::MozillaProductType SAL_CALL MozillaBootstrap::getCurrentProduct( ) throw (::com::sun::star::uno::RuntimeException)
+{
+ return ::com::sun::star::mozilla::MozillaProductType_Default;
+}
+::rtl::OUString SAL_CALL MozillaBootstrap::getCurrentProfile( ) throw (::com::sun::star::uno::RuntimeException)
+{
+ return ::rtl::OUString();
+}
+::sal_Bool SAL_CALL MozillaBootstrap::isCurrentProfileLocked( ) throw (::com::sun::star::uno::RuntimeException)
+{
+ return true;
+}
+::rtl::OUString SAL_CALL MozillaBootstrap::setCurrentProfile( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException)
+{
+ (void)product; /* avoid warning about unused parameter */
+ (void)profileName; /* avoid warning about unused parameter */
+ return ::rtl::OUString();
+}
+
+// XProxyRunner
+::sal_Int32 SAL_CALL MozillaBootstrap::Run( const ::com::sun::star::uno::Reference< ::com::sun::star::mozilla::XCodeProxy >& aCode ) throw (::com::sun::star::uno::RuntimeException)
+{
+ (void)aCode; /* avoid warning about unused parameter */
+ return -1;
+}
+
+
+#include <cppuhelper/factory.hxx>
+using ::com::sun::star::uno::Reference;
+using ::com::sun::star::uno::Sequence;
+using ::com::sun::star::lang::XSingleServiceFactory;
+using ::com::sun::star::lang::XMultiServiceFactory;
+
+extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL
+component_getImplementationEnvironment(
+ const sal_Char **ppEnvTypeName,
+ uno_Environment ** /*ppEnv*/
+ )
+{
+ *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
+}
+
+static Reference< XInterface > SAL_CALL createInstance( const Reference< XMultiServiceFactory >& rServiceManager )
+{
+ MozillaBootstrap * pBootstrap = reinterpret_cast<MozillaBootstrap*>(OMozillaBootstrap_CreateInstance(rServiceManager));
+ return *pBootstrap;
+}
+
+extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
+ const sal_Char* pImplementationName,
+ void* pServiceManager,
+ void* /*pRegistryKey*/)
+{
+ void* pRet = 0;
+
+ if (pServiceManager)
+ {
+ ::rtl::OUString aImplName( ::rtl::OUString::createFromAscii( pImplementationName ) );
+ Reference< XSingleServiceFactory > xFactory;
+ if (aImplName.equals( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.mozilla.MozillaBootstrap")) ))
+ {
+ Sequence< ::rtl::OUString > aSNS( 1 );
+ aSNS[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.mozilla.MozillaBootstrap"));
+
+ xFactory = ::cppu::createSingleFactory(
+ reinterpret_cast< XMultiServiceFactory* > ( pServiceManager),
+ aImplName, createInstance, aSNS );
+ }
+ if ( xFactory.is() )
+ {
+ xFactory->acquire();
+ pRet = xFactory.get();
+ }
+ }
+
+ return pRet;
+};
+
diff --git a/extensions/source/mozbootstrap/MMozillaBootstrap.hxx b/extensions/source/mozbootstrap/MMozillaBootstrap.hxx
new file mode 100644
index 000000000000..afc2ccdbf7c0
--- /dev/null
+++ b/extensions/source/mozbootstrap/MMozillaBootstrap.hxx
@@ -0,0 +1,97 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+
+#ifndef _SMOZILLABOOTSTRAP_HXX
+#define _SMOZILLABOOTSTRAP_HXX
+
+#include <com/sun/star/mozilla/XMozillaBootstrap.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <cppuhelper/compbase2.hxx>
+#include <osl/module.h>
+
+
+#define MOZAB_MozillaBootstrap_IMPL_NAME "com.sun.star.comp.mozilla.MozillaBootstrap"
+
+namespace connectivity
+{
+ namespace mozab
+ {
+ typedef ::cppu::WeakComponentImplHelper2< ::com::sun::star::mozilla::XMozillaBootstrap,
+ ::com::sun::star::lang::XServiceInfo > OMozillaBootstrap_BASE;
+ class ProfileAccess;
+ class ProfileManager;
+ class MozillaBootstrap : public OMozillaBootstrap_BASE
+ {
+ protected:
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xMSFactory;
+
+ ::osl::Mutex m_aMutex; // mutex is need to control member access
+ virtual ~MozillaBootstrap();
+ protected:
+ ProfileAccess * m_ProfileAccess;
+ ProfileManager * m_ProfileManager;
+ public:
+
+ void Init();
+ MozillaBootstrap(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory);
+
+ // OComponentHelper
+ virtual void SAL_CALL disposing(void);
+ // XInterface
+ static ::rtl::OUString getImplementationName_Static( ) throw(::com::sun::star::uno::RuntimeException);
+ static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XServiceInfo
+ virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
+
+ // XMozillaBootstrap
+
+ // XProfileDiscover
+ virtual ::sal_Int32 SAL_CALL getProfileCount( ::com::sun::star::mozilla::MozillaProductType product) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int32 SAL_CALL getProfileList( ::com::sun::star::mozilla::MozillaProductType product, ::com::sun::star::uno::Sequence< ::rtl::OUString >& list ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getDefaultProfile( ::com::sun::star::mozilla::MozillaProductType product ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getProfilePath( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL isProfileLocked( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL getProfileExists( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XProfileManager
+ virtual ::sal_Int32 SAL_CALL bootupProfile( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int32 SAL_CALL shutdownProfile( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::mozilla::MozillaProductType SAL_CALL getCurrentProduct( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getCurrentProfile( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL isCurrentProfileLocked( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL setCurrentProfile( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XProxyRunner
+ virtual ::sal_Int32 SAL_CALL Run( const ::com::sun::star::uno::Reference< ::com::sun::star::mozilla::XCodeProxy >& aCode ) throw (::com::sun::star::uno::RuntimeException);
+
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
+ & getMSFactory(void) const { return m_xMSFactory; }
+
+ };
+ }
+
+}
+
+#endif // _SMozillaBootstrap_HXX
diff --git a/extensions/source/mozbootstrap/MNSFolders.cxx b/extensions/source/mozbootstrap/MNSFolders.cxx
new file mode 100644
index 000000000000..c16d36c8f746
--- /dev/null
+++ b/extensions/source/mozbootstrap/MNSFolders.cxx
@@ -0,0 +1,147 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_extensions.hxx"
+#include <MNSFolders.hxx>
+
+#ifdef UNIX
+#include <sys/types.h>
+#include <strings.h>
+#include <string.h>
+#endif // End UNIX
+
+#ifdef WNT
+#include "pre_include_windows.h"
+#include <windows.h>
+#include <stdlib.h>
+#include <shlobj.h>
+#include <objidl.h>
+#include "post_include_windows.h"
+#endif // End WNT
+#include <osl/security.hxx>
+#include <osl/file.hxx>
+#include <osl/thread.h>
+
+using namespace ::com::sun::star::mozilla;
+
+namespace
+{
+ // -------------------------------------------------------------------
+ static ::rtl::OUString lcl_getUserDataDirectory()
+ {
+ ::osl::Security aSecurity;
+ ::rtl::OUString aConfigPath;
+
+ aSecurity.getConfigDir( aConfigPath );
+ return aConfigPath + ::rtl::OUString::createFromAscii( "/" );
+ }
+
+ // -------------------------------------------------------------------
+ static const char* DefaultProductDir[3][3] =
+ {
+ #if defined(XP_WIN)
+ { "Mozilla/SeaMonkey/", NULL, NULL },
+ { "Mozilla/Firefox/", NULL, NULL },
+ { "Thunderbird/", "Mozilla/Thunderbird/", NULL }
+ #elif(MACOSX)
+ { "../Mozilla/SeaMonkey/", NULL, NULL },
+ { "Firefox/", NULL, NULL },
+ { "../Thunderbird/", NULL, NULL }
+ #else
+ { ".mozilla/seamonkey/", NULL, NULL },
+ { ".mozilla/firefox/", NULL, NULL },
+ { ".thunderbird/", ".mozilla-thunderbird/", ".mozilla/thunderbird/" }
+ #endif
+ };
+
+ static const char* ProductRootEnvironmentVariable[3] =
+ {
+ "MOZILLA_PROFILE_ROOT",
+ "MOZILLA_FIREFOX_PROFILE_ROOT",
+ "MOZILLA_THUNDERBIRD_PROFILE_ROOT",
+ };
+
+ // -------------------------------------------------------------------
+ static ::rtl::OUString lcl_guessProfileRoot( MozillaProductType _product )
+ {
+ size_t productIndex = _product - 1;
+
+ static ::rtl::OUString s_productDirectories[3];
+
+ if ( !s_productDirectories[ productIndex ].getLength() )
+ {
+ ::rtl::OUString sProductPath;
+
+ // check whether we have an anevironment variable which helps us
+ const char* pProfileByEnv = getenv( ProductRootEnvironmentVariable[ productIndex ] );
+ if ( pProfileByEnv )
+ {
+ sProductPath = ::rtl::OUString( pProfileByEnv, rtl_str_getLength( pProfileByEnv ), osl_getThreadTextEncoding() );
+ // asume that this is fine, no further checks
+ }
+ else
+ {
+ ::rtl::OUString sProductDirCandidate;
+ const char* pProfileRegistry = "profiles.ini";
+
+ // check all possible candidates
+ for ( size_t i=0; i<3; ++i )
+ {
+ if ( NULL == DefaultProductDir[ productIndex ][ i ] )
+ break;
+
+ sProductDirCandidate = lcl_getUserDataDirectory() +
+ ::rtl::OUString::createFromAscii( DefaultProductDir[ productIndex ][ i ] );
+
+ // check existence
+ ::osl::DirectoryItem aRegistryItem;
+ ::osl::FileBase::RC result = ::osl::DirectoryItem::get( sProductDirCandidate + ::rtl::OUString::createFromAscii( pProfileRegistry ), aRegistryItem );
+ if ( result == ::osl::FileBase::E_None )
+ {
+ ::osl::FileStatus aStatus( FileStatusMask_Validate );
+ result = aRegistryItem.getFileStatus( aStatus );
+ if ( result == ::osl::FileBase::E_None )
+ {
+ // the registry file exists
+ break;
+ }
+ }
+ }
+
+ ::osl::FileBase::getSystemPathFromFileURL( sProductDirCandidate, sProductPath );
+ }
+
+ s_productDirectories[ productIndex ] = sProductPath;
+ }
+
+ return s_productDirectories[ productIndex ];
+ }
+}
+
+// -----------------------------------------------------------------------
+::rtl::OUString getRegistryDir(MozillaProductType product)
+{
+ if (product == MozillaProductType_Default)
+ return ::rtl::OUString();
+
+ return lcl_guessProfileRoot( product );
+}
diff --git a/extensions/source/mozbootstrap/MNSFolders.hxx b/extensions/source/mozbootstrap/MNSFolders.hxx
new file mode 100644
index 000000000000..64582d868856
--- /dev/null
+++ b/extensions/source/mozbootstrap/MNSFolders.hxx
@@ -0,0 +1,39 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+
+
+#ifndef _MNSFOLDERS_HXX_
+#define _MNSFOLDERS_HXX_
+
+#include <sal/types.h>
+#include <osl/diagnose.h>
+#include <osl/conditn.hxx>
+#ifndef _COM_SUN_STAR_MOZILLA_MOZILLPRODUCTTYPE_HPP_
+#include <com/sun/star/mozilla/MozillaProductType.hpp>
+#endif
+
+#include <rtl/ustring.hxx>
+
+::rtl::OUString getRegistryDir(::com::sun::star::mozilla::MozillaProductType product);
+
+#endif
+
diff --git a/extensions/source/mozbootstrap/MNSINIParser.cxx b/extensions/source/mozbootstrap/MNSINIParser.cxx
new file mode 100644
index 000000000000..b1671c2a7a66
--- /dev/null
+++ b/extensions/source/mozbootstrap/MNSINIParser.cxx
@@ -0,0 +1,133 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_extensions.hxx"
+#include <MNSINIParser.hxx>
+#include <rtl/byteseq.hxx>
+
+IniParser::IniParser(OUString const & rIniName) throw(com::sun::star::io::IOException )
+{
+ OUString iniUrl;
+ if (osl_File_E_None != osl_getFileURLFromSystemPath(rIniName.pData, &iniUrl.pData))
+ return;
+
+
+#if OSL_DEBUG_LEVEL > 0
+ OString sFile = OUStringToOString(iniUrl, RTL_TEXTENCODING_ASCII_US);
+ OSL_TRACE(__FILE__" -- parser() - %s\n", sFile.getStr());
+#endif
+ oslFileHandle handle=NULL;
+ oslFileError fileError = osl_File_E_INVAL;
+ try{
+ if (iniUrl.getLength())
+ fileError = osl_openFile(iniUrl.pData, &handle, osl_File_OpenFlag_Read);
+ }
+ catch(::com::sun::star::io::IOException e)
+ {
+#if OSL_DEBUG_LEVEL > 0
+ OString file_tmp = OUStringToOString(iniUrl, RTL_TEXTENCODING_ASCII_US);
+ OSL_TRACE( __FILE__" -- couldn't open file: %s", file_tmp.getStr() );
+#endif
+ }
+
+ if (osl_File_E_None == fileError)
+ {
+ rtl::ByteSequence seq;
+ sal_uInt64 nSize = 0;
+
+ osl_getFileSize(handle, &nSize);
+ OUString sectionName = OUString::createFromAscii("no name section");
+ while (true)
+ {
+ sal_uInt64 nPos;
+ if (osl_File_E_None != osl_getFilePos(handle, &nPos) || nPos >= nSize)
+ break;
+ if (osl_File_E_None != osl_readLine(handle , (sal_Sequence **) &seq))
+ break;
+ OString line( (const sal_Char *) seq.getConstArray(), seq.getLength() );
+ sal_Int32 nIndex = line.indexOf('=');
+ if (nIndex >= 1)
+ {
+ ini_Section *aSection = &mAllSection[sectionName];
+ struct ini_NameValue nameValue;
+ nameValue.sName = OStringToOUString(
+ line.copy(0,nIndex).trim(), RTL_TEXTENCODING_ASCII_US );
+ nameValue.sValue = OStringToOUString(
+ line.copy(nIndex+1).trim(), RTL_TEXTENCODING_UTF8 );
+
+ aSection->lList.push_back(nameValue);
+
+ }
+ else
+ {
+ sal_Int32 nIndexStart = line.indexOf('[');
+ sal_Int32 nIndexEnd = line.indexOf(']');
+ if ( nIndexEnd > nIndexStart && nIndexStart >=0)
+ {
+ sectionName = OStringToOUString(
+ line.copy(nIndexStart + 1,nIndexEnd - nIndexStart -1).trim(), RTL_TEXTENCODING_ASCII_US );
+ if (!sectionName.getLength())
+ sectionName = OUString::createFromAscii("no name section");
+
+ ini_Section *aSection = &mAllSection[sectionName];
+ aSection->sName = sectionName;
+ }
+ }
+ }
+ osl_closeFile(handle);
+ }
+#if OSL_DEBUG_LEVEL > 0
+ else
+ {
+ OString file_tmp = OUStringToOString(iniUrl, RTL_TEXTENCODING_ASCII_US);
+ OSL_TRACE( __FILE__" -- couldn't open file: %s", file_tmp.getStr() );
+ }
+#endif
+}
+#if OSL_DEBUG_LEVEL > 0
+void IniParser::Dump()
+{
+ IniSectionMap::iterator iBegin = mAllSection.begin();
+ IniSectionMap::iterator iEnd = mAllSection.end();
+ for(;iBegin != iEnd;iBegin++)
+ {
+ ini_Section *aSection = &(*iBegin).second;
+ OString sec_name_tmp = OUStringToOString(aSection->sName, RTL_TEXTENCODING_ASCII_US);
+ for(NameValueList::iterator itor=aSection->lList.begin();
+ itor != aSection->lList.end();
+ itor++)
+ {
+ struct ini_NameValue * aValue = &(*itor);
+ OString name_tmp = OUStringToOString(aValue->sName, RTL_TEXTENCODING_ASCII_US);
+ OString value_tmp = OUStringToOString(aValue->sValue, RTL_TEXTENCODING_UTF8);
+ OSL_TRACE(
+ " section=%s name=%s value=%s\n",
+ sec_name_tmp.getStr(),
+ name_tmp.getStr(),
+ value_tmp.getStr() );
+
+ }
+ }
+
+}
+#endif
+
diff --git a/extensions/source/mozbootstrap/MNSINIParser.hxx b/extensions/source/mozbootstrap/MNSINIParser.hxx
new file mode 100644
index 000000000000..f2aaaf4805b9
--- /dev/null
+++ b/extensions/source/mozbootstrap/MNSINIParser.hxx
@@ -0,0 +1,79 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+
+#ifndef __MNSINIPARSER_HXX__
+#define __MNSINIPARSER_HXX__
+
+#include <rtl/ustring.hxx>
+#include <com/sun/star/io/IOException.hpp>
+#include <osl/process.h>
+using namespace rtl;
+
+#include <map>
+#include <list>
+
+#if OSL_DEBUG_LEVEL > 0
+#include <stdio.h>
+#endif
+
+struct ini_NameValue
+{
+ rtl::OUString sName;
+ rtl::OUString sValue;
+
+ inline ini_NameValue() SAL_THROW( () )
+ {}
+ inline ini_NameValue(
+ OUString const & name, OUString const & value ) SAL_THROW( () )
+ : sName( name ),
+ sValue( value )
+ {}
+};
+
+typedef std::list<
+ ini_NameValue
+> NameValueList;
+
+struct ini_Section
+{
+ rtl::OUString sName;
+ NameValueList lList;
+};
+typedef std::map<rtl::OUString,
+ ini_Section
+ >IniSectionMap;
+
+
+class IniParser
+{
+ IniSectionMap mAllSection;
+public:
+ IniSectionMap * getAllSection(){return &mAllSection;};
+ IniParser(OUString const & rIniName) throw(com::sun::star::io::IOException );
+#if OSL_DEBUG_LEVEL > 0
+ void Dump();
+#endif
+
+};
+
+#endif
+
diff --git a/extensions/source/mozbootstrap/MNSProfileDiscover.cxx b/extensions/source/mozbootstrap/MNSProfileDiscover.cxx
new file mode 100644
index 000000000000..ee7d43f47d6b
--- /dev/null
+++ b/extensions/source/mozbootstrap/MNSProfileDiscover.cxx
@@ -0,0 +1,221 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_extensions.hxx"
+#include "MNSProfileDiscover.hxx"
+
+// Registry Keys
+
+static ::rtl::OUString szProfileSubtreeString=::rtl::OUString::createFromAscii("Profiles");
+static ::rtl::OUString szCurrentProfileString= ::rtl::OUString::createFromAscii("CurrentProfile");
+static ::rtl::OUString szDirectoryString =::rtl::OUString::createFromAscii("directory");
+
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 1024
+#endif
+#include <MNSFolders.hxx>
+#include <MNSINIParser.hxx>
+
+namespace connectivity
+{
+ namespace mozab
+ {
+ ProfileStruct::ProfileStruct(MozillaProductType aProduct,::rtl::OUString aProfileName,
+ const ::rtl::OUString& aProfilePath)
+ {
+ product=aProduct;
+ profileName = aProfileName;
+ profilePath = aProfilePath;
+ }
+ ::rtl::OUString ProfileStruct::getProfilePath()
+ {
+ return profilePath;
+ }
+
+ ProfileAccess::~ProfileAccess()
+ {
+ }
+ ProfileAccess::ProfileAccess()
+ {
+ LoadProductsInfo();
+ }
+
+ sal_Int32 ProfileAccess::LoadProductsInfo()
+ {
+ //load SeaMonkey 2 profiles to m_ProductProfileList
+ sal_Int32 count = LoadXPToolkitProfiles(MozillaProductType_Mozilla);
+
+ //load thunderbird profiles to m_ProductProfileList
+ count += LoadXPToolkitProfiles(MozillaProductType_Thunderbird);
+
+ //load firefox profiles to m_ProductProfileList
+ //firefox profile does not containt address book, but maybe others need them
+ count += LoadXPToolkitProfiles(MozillaProductType_Firefox);
+ return count;
+ }
+ //Thunderbird and firefox profiles are saved in profiles.ini
+ sal_Int32 ProfileAccess::LoadXPToolkitProfiles(MozillaProductType product)
+ {
+ sal_Int32 index=product;
+ ProductStruct &m_Product = m_ProductProfileList[index];
+
+ ::rtl::OUString regDir = getRegistryDir(product);
+ ::rtl::OUString profilesIni( regDir );
+ profilesIni += ::rtl::OUString::createFromAscii( "profiles.ini" );
+ IniParser parser( profilesIni );
+ IniSectionMap &mAllSection = *(parser.getAllSection());
+
+ IniSectionMap::iterator iBegin = mAllSection.begin();
+ IniSectionMap::iterator iEnd = mAllSection.end();
+ for(;iBegin != iEnd;iBegin++)
+ {
+ ini_Section *aSection = &(*iBegin).second;
+ ::rtl::OUString profileName;
+ ::rtl::OUString profilePath;
+ ::rtl::OUString sIsRelative;
+ ::rtl::OUString sIsDefault;
+
+ for(NameValueList::iterator itor=aSection->lList.begin();
+ itor != aSection->lList.end();
+ itor++)
+ {
+ struct ini_NameValue * aValue = &(*itor);
+ if (aValue->sName.equals(::rtl::OUString::createFromAscii("Name")))
+ {
+ profileName = aValue->sValue;
+ }
+ else if (aValue->sName.equals(::rtl::OUString::createFromAscii("IsRelative")))
+ {
+ sIsRelative = aValue->sValue;
+ }
+ else if (aValue->sName.equals(::rtl::OUString::createFromAscii("Path")))
+ {
+ profilePath = aValue->sValue;
+ }
+ else if (aValue->sName.equals(::rtl::OUString::createFromAscii("Default")))
+ {
+ sIsDefault = aValue->sValue;
+ }
+ }
+ if (profileName.getLength() != 0 || profilePath.getLength() != 0)
+ {
+ sal_Int32 isRelative = 0;
+ if (sIsRelative.getLength() != 0)
+ {
+ isRelative = sIsRelative.toInt32();
+ }
+
+ ProfileStruct* profileItem = new ProfileStruct(product,profileName,
+ regDir + profilePath);
+ m_Product.mProfileList[profileName] = profileItem;
+
+ sal_Int32 isDefault = 0;
+ if (sIsDefault.getLength() != 0)
+ {
+ isDefault = sIsDefault.toInt32();
+ }
+ if (isDefault)
+ m_Product.mCurrentProfileName = profileName;
+
+ }
+
+ }
+ return static_cast< ::sal_Int32 >(m_Product.mProfileList.size());
+ }
+
+ ::rtl::OUString ProfileAccess::getProfilePath( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException)
+ {
+ sal_Int32 index=product;
+ ProductStruct &m_Product = m_ProductProfileList[index];
+ if (!m_Product.mProfileList.size() || m_Product.mProfileList.find(profileName) == m_Product.mProfileList.end())
+ {
+ //Profile not found
+ return ::rtl::OUString();
+ }
+ else
+ return m_Product.mProfileList[profileName]->getProfilePath();
+ }
+
+ ::sal_Int32 ProfileAccess::getProfileCount( ::com::sun::star::mozilla::MozillaProductType product) throw (::com::sun::star::uno::RuntimeException)
+ {
+ sal_Int32 index=product;
+ ProductStruct &m_Product = m_ProductProfileList[index];
+ return static_cast< ::sal_Int32 >(m_Product.mProfileList.size());
+ }
+ ::sal_Int32 ProfileAccess::getProfileList( ::com::sun::star::mozilla::MozillaProductType product, ::com::sun::star::uno::Sequence< ::rtl::OUString >& list ) throw (::com::sun::star::uno::RuntimeException)
+ {
+ sal_Int32 index=product;
+ ProductStruct &m_Product = m_ProductProfileList[index];
+ list.realloc(static_cast<sal_Int32>(m_Product.mProfileList.size()));
+ sal_Int32 i=0;
+ for(ProfileList::iterator itor=m_Product.mProfileList.begin();
+ itor != m_Product.mProfileList.end();
+ itor++)
+ {
+ ProfileStruct * aProfile = (*itor).second;
+ list[i] = aProfile->getProfileName();
+ i++;
+ }
+
+ return static_cast< ::sal_Int32 >(m_Product.mProfileList.size());
+ }
+
+ ::rtl::OUString ProfileAccess::getDefaultProfile( ::com::sun::star::mozilla::MozillaProductType product ) throw (::com::sun::star::uno::RuntimeException)
+ {
+ sal_Int32 index=product;
+ ProductStruct &m_Product = m_ProductProfileList[index];
+ if (m_Product.mCurrentProfileName.getLength() != 0)
+ {
+ //default profile setted in mozilla registry
+ return m_Product.mCurrentProfileName;
+ }
+ if (m_Product.mProfileList.size() == 0)
+ {
+ //there are not any profiles
+ return ::rtl::OUString();
+ }
+ ProfileStruct * aProfile = (*m_Product.mProfileList.begin()).second;
+ return aProfile->getProfileName();
+ }
+
+ ::sal_Bool ProfileAccess::isProfileLocked( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException)
+ {
+ (void)product; /* avoid warning about unused parameter */
+ (void)profileName; /* avoid warning about unused parameter */
+ return sal_True;
+ }
+
+ ::sal_Bool ProfileAccess::getProfileExists( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException)
+ {
+ sal_Int32 index=product;
+ ProductStruct &m_Product = m_ProductProfileList[index];
+ if (!m_Product.mProfileList.size() || m_Product.mProfileList.find(profileName) == m_Product.mProfileList.end())
+ {
+ return sal_False;
+ }
+ else
+ return sal_True;
+ }
+ }
+}
+
+
diff --git a/extensions/source/mozbootstrap/MNSProfileDiscover.hxx b/extensions/source/mozbootstrap/MNSProfileDiscover.hxx
new file mode 100644
index 000000000000..916b8e437651
--- /dev/null
+++ b/extensions/source/mozbootstrap/MNSProfileDiscover.hxx
@@ -0,0 +1,98 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+#ifndef __MNSProfileDiscover_h___
+#define __MNSProfileDiscover_h___
+
+#include <sal/types.h>
+#include <osl/diagnose.h>
+#include <osl/conditn.hxx>
+#ifndef _COM_SUN_STAR_MOZILLA_MOZILLPRODUCTTYPE_HPP_
+#include <com/sun/star/mozilla/MozillaProductType.hpp>
+#endif
+#include <com/sun/star/uno/RuntimeException.hpp>
+#include <com/sun/star/uno/Sequence.hxx>
+#include <rtl/ustring.hxx>
+
+#include <vector>
+#include <map>
+
+using namespace com::sun::star::mozilla;
+namespace connectivity
+{
+ namespace mozab
+ {
+ class ProfileStruct;
+ }
+}
+typedef ::std::map < ::rtl::OUString, ::connectivity::mozab::ProfileStruct* > ProfileList;
+namespace connectivity
+{
+ namespace mozab
+ {
+ class ProfileStruct
+ {
+ public:
+ ProfileStruct(MozillaProductType aProduct,::rtl::OUString aProfileName,
+ const ::rtl::OUString &aProfilePath );
+ MozillaProductType getProductType() { return product;}
+ ::rtl::OUString getProfileName(){ return profileName;}
+ ::rtl::OUString getProfilePath() ;
+ protected:
+ MozillaProductType product;
+ ::rtl::OUString profileName;
+ ::rtl::OUString profilePath;
+ };
+
+ class ProductStruct
+ {
+ public:
+ void setCurrentProfile(::rtl::OUString aProfileName){mCurrentProfileName = aProfileName;}
+
+ ::rtl::OUString mCurrentProfileName;
+
+ ProfileList mProfileList;
+ };
+
+ //Used to query profiles information
+ class ProfileAccess
+ {
+ public:
+
+ virtual ~ProfileAccess();
+ ProfileAccess();
+ ::rtl::OUString getProfilePath( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException);
+ ::sal_Int32 getProfileCount( ::com::sun::star::mozilla::MozillaProductType product ) throw (::com::sun::star::uno::RuntimeException);
+ ::sal_Int32 getProfileList( ::com::sun::star::mozilla::MozillaProductType product, ::com::sun::star::uno::Sequence< ::rtl::OUString >& list ) throw (::com::sun::star::uno::RuntimeException);
+ ::rtl::OUString getDefaultProfile( ::com::sun::star::mozilla::MozillaProductType product ) throw (::com::sun::star::uno::RuntimeException);
+ ::sal_Bool SAL_CALL isProfileLocked( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException);
+ ::sal_Bool SAL_CALL getProfileExists( ::com::sun::star::mozilla::MozillaProductType product, const ::rtl::OUString& profileName ) throw (::com::sun::star::uno::RuntimeException);
+ protected:
+ ProductStruct m_ProductProfileList[4];
+ sal_Int32 LoadProductsInfo();
+ sal_Int32 LoadXPToolkitProfiles(MozillaProductType product);
+ };
+
+ }
+}
+
+#endif // __MNSProfileDiscover_h___
+
diff --git a/extensions/source/mozbootstrap/makefile.mk b/extensions/source/mozbootstrap/makefile.mk
new file mode 100644
index 000000000000..a6ec4bb4a54e
--- /dev/null
+++ b/extensions/source/mozbootstrap/makefile.mk
@@ -0,0 +1,76 @@
+#**************************************************************
+#
+# 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
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+#**************************************************************
+
+CALL_CDECL=TRUE
+
+PRJ=..$/..
+PRJNAME=extensions
+TARGET=mozbootstrap
+
+.IF "$(OS)" == "OS2" || "$(OS)" == "WNT"
+all:
+ @echo " Not building under Windows / OS/2"
+.ENDIF
+
+# --- Settings ----------------------------------
+
+LIBTARGET=NO
+ENABLE_EXCEPTIONS=TRUE
+VISIBILITY_HIDDEN=TRUE
+
+.INCLUDE : settings.mk
+
+# no "lib" prefix
+DLLPRE =
+
+# --- Files -------------------------------------
+
+SLOFILES += \
+ $(SLO)$/MNSINIParser.obj \
+ $(SLO)$/MNSProfileDiscover.obj \
+ $(SLO)$/MMozillaBootstrap.obj \
+ $(SLO)$/MNSFolders.obj
+
+# CDEFS+=-DMINIMAL_PROFILEDISCOVER
+
+SHL1TARGET=$(TARGET).uno
+SHL1VERSIONMAP=$(SOLARENV)/src/component.map
+SHL1OBJS=$(SLOFILES)
+SHL1DEF=$(MISC)$/$(SHL1TARGET).def
+DEF1NAME=$(SHL1TARGET)
+
+SHL1STDLIBS=\
+ $(CPPULIB) \
+ $(CPPUHELPERLIB) \
+ $(SALLIB) \
+ $(COMPHELPERLIB)
+
+ALLTAR : $(MISC)/mozbootstrap.component
+
+$(MISC)/mozbootstrap.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt mozbootstrap.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt mozbootstrap.component
+
+# --- Targets ----------------------------------
+
+.INCLUDE : target.mk
diff --git a/extensions/source/mozbootstrap/mozbootstrap.component b/extensions/source/mozbootstrap/mozbootstrap.component
new file mode 100644
index 000000000000..618a4b4f3d4a
--- /dev/null
+++ b/extensions/source/mozbootstrap/mozbootstrap.component
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--***********************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ ***********************************************************-->
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.mozilla.MozillaBootstrap">
+ <service name="com.sun.star.mozilla.MozillaBootstrap"/>
+ </implementation>
+</component>
diff --git a/extensions/source/ole/unoconversionutilities.hxx b/extensions/source/ole/unoconversionutilities.hxx
index d17883b712ec..2b1bfcff51f1 100644
--- a/extensions/source/ole/unoconversionutilities.hxx
+++ b/extensions/source/ole/unoconversionutilities.hxx
@@ -1026,7 +1026,7 @@ void UnoConversionUtilities<T>::anyToVariant(VARIANT* pVariant, const Any& rAny)
}
// Creates an SAFEARRAY of the specified element and if necessary
-// creates a SAFEARRAY whith multiple dimensions.
+// creates a SAFEARRAY with multiple dimensions.
// Used by sal_Bool anyToVariant(VARIANT* pVariant, const Any& rAny, VARTYPE type);
template<class T>
SAFEARRAY* UnoConversionUtilities<T>::createUnoSequenceWrapper(const Any& rSeq, VARTYPE elemtype)
@@ -1255,7 +1255,7 @@ size_t UnoConversionUtilities<T>::getOleElementSize( VARTYPE type)
// param rSeq - an Any that has to contain a Sequence
// param dim - the dimension for which the number of elements is being determined,
// must be one.
-// param seqElementCounts - countains the maximum number of elements for each
+// param seqElementCounts - contains the maximum number of elements for each
// dimension. Index 0 contains the number of dimension one.
// After return the Sequence contains the maximum number of
// elements for each dimension.
@@ -1403,7 +1403,7 @@ void UnoConversionUtilities<T>::createUnoObjectWrapper(const Any & rObj, VARIANT
}
}
// Is the object a COM wrapper ( either XInvocation, or Adapter object)
- // or does it suppy an IDispatch by its own ?
+ // or does it supply an IDispatch by its own ?
else
{
Reference<XInterface> xIntComWrapper = xInt;
diff --git a/extensions/source/ole/unoobjw.cxx b/extensions/source/ole/unoobjw.cxx
index eb2323e7ab71..50ff7d65872e 100644
--- a/extensions/source/ole/unoobjw.cxx
+++ b/extensions/source/ole/unoobjw.cxx
@@ -326,7 +326,7 @@ STDMETHODIMP InterfaceOleWrapper_Impl::GetIDsOfNames(REFIID /*riid*/,
// A. Type Information
// -----------------------------------------------------------------------------
// With the help of type information the kind of parameter can be exactly determined
-// and an appropriate conversion can be choosen. A problem arises if a method expects
+// and an appropriate conversion can be chosen. A problem arises if a method expects
// an Any. Then the type info does not tell what the type of the value, that is kept
// by the any, should be. In this situation the decision wheter the param is a
// sequence or an object is made upon the fact if the object has a property "0"
@@ -344,7 +344,7 @@ STDMETHODIMP InterfaceOleWrapper_Impl::GetIDsOfNames(REFIID /*riid*/,
// can easily find out that a param is such an object by queriing for the
// IJScriptValue interface. By this interface one the type and kind ( out, in/out)
// can be determined and the right conversion can be applied.
-// Using ValueObjects we spare us the effort of aquiring and examining type information
+// Using ValueObjects we spare us the effort of acquiring and examining type information
// in order to figure out what the an IDispatch parameter is meant for.
// Normal JScript object parameter can be mixed with JScriptValue object. If an
@@ -1662,7 +1662,7 @@ static HRESULT mapCannotConvertException( CannotConvertException e, unsigned int
// is VT_DISPATCH. The function is used from o2u_createUnoObjectWrapper
// and the result is put into the constructor of the uno - wrapper
// object. If a client asks the object for DISPID_VALUE and this
-// funtion returned VT_DISPATCH then the IDispatch of the same
+// function returned VT_DISPATCH then the IDispatch of the same
// object is being returned.
// See InterfaceOleWrapper_Impl::Invoke, InterfaceOleWrapper_Impl::m_defaultValueType
const VARTYPE getVarType( const Any& value)
diff --git a/extensions/source/oooimprovement/myconfigurationhelper.hxx b/extensions/source/oooimprovement/myconfigurationhelper.hxx
index f2d9b2f72090..e6f4a43cdb7d 100644
--- a/extensions/source/oooimprovement/myconfigurationhelper.hxx
+++ b/extensions/source/oooimprovement/myconfigurationhelper.hxx
@@ -39,7 +39,7 @@ namespace oooimprovement
#error css defined globally
#endif
#define css ::com::sun::star
- // Copy from comphelper module, we cant use that directly from an extension
+ // Copy from comphelper module, we can't use that directly from an extension
class MyConfigurationHelper
{
public:
@@ -82,7 +82,7 @@ namespace oooimprovement
*
* @param eMode
* specify the open mode for the returned configuration access.
- * It's interpreted as a flag field and can be any usefull combination
+ * It's interpreted as a flag field and can be any useful combination
* of values of EConfigurationModes.
*
* @throw css::uno::Any exceptions the underlying configuration can throw.
@@ -177,7 +177,7 @@ namespace oooimprovement
* Because it opens the specified configuration package, reads the key and
* closes the configuration again.
*
- * So its not very usefull to use this method for reading multiple keys at the same time.
+ * So its not very useful to use this method for reading multiple keys at the same time.
* (Excepting these keys exists inside different configuration packages ...))
*/
static css::uno::Any readDirectKey(
@@ -194,7 +194,7 @@ namespace oooimprovement
* Because it opens the specified configuration package, writes the key, flush
* all changes and closes the configuration again.
*
- * So its not very usefull to use this method for writing multiple keys at the same time.
+ * So its not very useful to use this method for writing multiple keys at the same time.
* (Excepting these keys exists inside different configuration packages ...))
*/
static void writeDirectKey(
diff --git a/extensions/source/propctrlr/browserlistbox.cxx b/extensions/source/propctrlr/browserlistbox.cxx
index 607d4155fde3..865e9e405cc9 100644
--- a/extensions/source/propctrlr/browserlistbox.cxx
+++ b/extensions/source/propctrlr/browserlistbox.cxx
@@ -167,7 +167,7 @@ namespace pcr
*/
void SAL_CALL dispose();
- /** sets the notification mode, so that notifications recieved from the controls are
+ /** sets the notification mode, so that notifications received from the controls are
forwarded to our IControlContext either synchronously or asynchronously
@param _eMode
the new notification mode
diff --git a/extensions/source/propctrlr/cellbindinghandler.hxx b/extensions/source/propctrlr/cellbindinghandler.hxx
index fccd9029dfef..9b1369cb4c52 100644
--- a/extensions/source/propctrlr/cellbindinghandler.hxx
+++ b/extensions/source/propctrlr/cellbindinghandler.hxx
@@ -86,7 +86,7 @@ namespace pcr
However, it can also result in a more complex change: The current (UI) state might
depend on the value of more than one other property. Those dependent properties (their
- UI, more precisly) are updated in this method.
+ UI, more precisely) are updated in this method.
@param _nPropid
the ->PropertyId of the dependent property whose UI state is to be updated
diff --git a/extensions/source/propctrlr/cellbindinghelper.hxx b/extensions/source/propctrlr/cellbindinghelper.hxx
index 08c45f6a1b05..dbbbdd42f262 100644
--- a/extensions/source/propctrlr/cellbindinghelper.hxx
+++ b/extensions/source/propctrlr/cellbindinghelper.hxx
@@ -116,7 +116,7 @@ namespace pcr
@precond
The binding is a valid cell binding, or <NULL/>
@return
- <FALSE/> if and only if an error occured and no valid address could be obtained
+ <FALSE/> if and only if an error occurred and no valid address could be obtained
@see isCellBinding
*/
bool getAddressFromCellBinding(
@@ -200,7 +200,7 @@ namespace pcr
) const;
/** retrieves the index of the sheet which our control belongs to
- @return the index of the sheet which our control belongs to or -1, if an error occured
+ @return the index of the sheet which our control belongs to or -1, if an error occurred
*/
sal_Int16 getControlSheetIndex(
::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet >& _out_rxSheet
@@ -265,7 +265,7 @@ namespace pcr
the AddressConversion service
@return
- <TRUE/> if any only if the conversion was successfull
+ <TRUE/> if any only if the conversion was successful
@see com::sun::star::table::CellAddressConversion
@see com::sun::star::table::CellRangeAddressConversion
diff --git a/extensions/source/propctrlr/eventhandler.cxx b/extensions/source/propctrlr/eventhandler.cxx
index 0c2f4b0da7de..36e2d2f48809 100644
--- a/extensions/source/propctrlr/eventhandler.cxx
+++ b/extensions/source/propctrlr/eventhandler.cxx
@@ -914,7 +914,7 @@ namespace pcr
pEventHolder->addEvent( event->second.nId, event->second.sListenerMethodName, aAssignedScript );
}
- // the inital selection in the dialog
+ // the initial selection in the dialog
Sequence< ::rtl::OUString > aNames( pEventHolder->getElementNames() );
const ::rtl::OUString* pChosenEvent = ::std::find( aNames.getConstArray(), aNames.getConstArray() + aNames.getLength(), rForEvent.sListenerMethodName );
sal_uInt16 nInitialSelection = (sal_uInt16)( pChosenEvent - aNames.getConstArray() );
diff --git a/extensions/source/propctrlr/eventhandler.hxx b/extensions/source/propctrlr/eventhandler.hxx
index efd650245c69..6edc3b064290 100644
--- a/extensions/source/propctrlr/eventhandler.hxx
+++ b/extensions/source/propctrlr/eventhandler.hxx
@@ -147,7 +147,7 @@ namespace pcr
private:
/** returns the script events associated with our introspectee
@param _out_rEvents
- Takes, upon successfull return, the events currently associated with the introspectee
+ Takes, upon successful return, the events currently associated with the introspectee
@precond
Our introspectee is a form component
*/
@@ -157,7 +157,7 @@ namespace pcr
/** returns the script events associated with our introspectee
@param _out_rEvents
- Takes, upon successfull return, the events currently associated with the introspectee
+ Takes, upon successful return, the events currently associated with the introspectee
@precond
Our introspectee is a dialog element
*/
@@ -181,7 +181,7 @@ namespace pcr
/** returns the types of the listeners which can be registered at our introspectee
@param _out_rTypes
- Takes, upon successfull return, the types of possible listeners at the introspectee
+ Takes, upon successful return, the types of possible listeners at the introspectee
*/
void impl_getCopmonentListenerTypes_nothrow(
::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >& _out_rTypes
diff --git a/extensions/source/propctrlr/fontdialog.cxx b/extensions/source/propctrlr/fontdialog.cxx
index e7d2eb263899..0b0fdb50bb75 100644
--- a/extensions/source/propctrlr/fontdialog.cxx
+++ b/extensions/source/propctrlr/fontdialog.cxx
@@ -575,7 +575,7 @@ namespace pcr
const SvxFontListItem& rFontListItem = static_cast<const SvxFontListItem&>(_rpPool->GetDefaultItem(CFID_FONTLIST));
const FontList* pFontList = rFontListItem.GetFontList();
- // _first_ delete the set (refering the pool)
+ // _first_ delete the set (referring the pool)
if (_rpSet)
{
delete _rpSet;
diff --git a/extensions/source/propctrlr/formcomponenthandler.cxx b/extensions/source/propctrlr/formcomponenthandler.cxx
index 12f443a03e45..40915c92e56f 100644
--- a/extensions/source/propctrlr/formcomponenthandler.cxx
+++ b/extensions/source/propctrlr/formcomponenthandler.cxx
@@ -2439,7 +2439,7 @@ namespace pcr
{
DBG_ERROR( "FormComponentPropertyHandler::impl_ensureRowsetConnection_nothrow: caught an exception during error handling!" );
}
- // additional info about what happended
+ // additional info about what happened
String sInfo( PcrRes( RID_STR_UNABLETOCONNECT ) );
INetURLObject aParser( sDataSourceName );
if ( aParser.GetProtocol() != INET_PROT_NOT_VALID )
diff --git a/extensions/source/propctrlr/formcomponenthandler.hxx b/extensions/source/propctrlr/formcomponenthandler.hxx
index 1337ea707e16..3bb0faf65865 100644
--- a/extensions/source/propctrlr/formcomponenthandler.hxx
+++ b/extensions/source/propctrlr/formcomponenthandler.hxx
@@ -405,7 +405,7 @@ namespace pcr
However, it can also result in a more complex change: The current (UI) state might
depend on the value of more than one other property. Those dependent properties (their
- UI, more precisly) are updated in this method.
+ UI, more precisely) are updated in this method.
@param _nPropid
the ->PropertyId of the dependent property whose UI state is to be updated
diff --git a/extensions/source/propctrlr/pcrcomponentcontext.hxx b/extensions/source/propctrlr/pcrcomponentcontext.hxx
index 08f9a1c5ef34..8e518bf8a3bb 100644
--- a/extensions/source/propctrlr/pcrcomponentcontext.hxx
+++ b/extensions/source/propctrlr/pcrcomponentcontext.hxx
@@ -97,7 +97,7 @@ namespace pcr
@throws ::com::sun::star::lang::ServiceNotRegisteredException
if the given service is not registered
@throws Exception
- if an exception occured during creating the component
+ if an exception occurred during creating the component
@return
the newly created component. Is never <NULL/>.
*/
@@ -108,7 +108,7 @@ namespace pcr
@throws ::com::sun::star::lang::ServiceNotRegisteredException
if the given service is not registered
@throws Exception
- if an exception occured during creating the component
+ if an exception occurred during creating the component
@return
the newly created component. Is never <NULL/>.
*/
diff --git a/extensions/source/scanner/twain.cxx b/extensions/source/scanner/twain.cxx
index 19f1d77222ad..8efdce688ed7 100644
--- a/extensions/source/scanner/twain.cxx
+++ b/extensions/source/scanner/twain.cxx
@@ -401,7 +401,7 @@ void ImpTwain::ImplXfer()
GlobalFree( (HGLOBAL) hDIB );
#endif // OS2
- // set resolution of bitmap if neccessary
+ // set resolution of bitmap if necessary
if ( ( nXRes != -1 ) && ( nYRes != - 1 ) && ( nWidth != - 1 ) && ( nHeight != - 1 ) )
{
const MapMode aMapMode( MAP_100TH_INCH, Point(), Fraction( 100, nXRes ), Fraction( 100, nYRes ) );
diff --git a/extensions/source/update/check/download.cxx b/extensions/source/update/check/download.cxx
index 070bdeeba795..0e3ea017a239 100644
--- a/extensions/source/update/check/download.cxx
+++ b/extensions/source/update/check/download.cxx
@@ -270,7 +270,7 @@ bool curl_run(const rtl::OUString& rURL, OutData& out, const rtl::OString& aProx
curl_easy_setopt(pCURL, CURLOPT_WRITEDATA, &out);
curl_easy_setopt(pCURL, CURLOPT_WRITEFUNCTION, &write_function);
- // progress handler - Condition::check unfortunatly is not defined const
+ // progress handler - Condition::check unfortunately is not defined const
curl_easy_setopt(pCURL, CURLOPT_NOPROGRESS, 0);
curl_easy_setopt(pCURL, CURLOPT_PROGRESSFUNCTION, &progress_callback);
curl_easy_setopt(pCURL, CURLOPT_PROGRESSDATA, &out);
diff --git a/extensions/source/update/check/updatecheck.cxx b/extensions/source/update/check/updatecheck.cxx
index 642d7940291f..f2d00b2fad01 100644
--- a/extensions/source/update/check/updatecheck.cxx
+++ b/extensions/source/update/check/updatecheck.cxx
@@ -820,7 +820,7 @@ UpdateCheck::initialize(const uno::Sequence< beans::NamedValue >& rValues,
if( nDownloadSize > 0 )
{
- if ( nDownloadSize <= nFileSize ) // we have already downloaded everthing
+ if ( nDownloadSize <= nFileSize ) // we have already downloaded everything
{
bContinueDownload = false;
bDownloadAvailable = true;
diff --git a/extensions/source/update/check/updatecheckconfig.hxx b/extensions/source/update/check/updatecheckconfig.hxx
index 926efbf9cee8..27262b2cb0cc 100755
--- a/extensions/source/update/check/updatecheckconfig.hxx
+++ b/extensions/source/update/check/updatecheckconfig.hxx
@@ -32,7 +32,7 @@
#include "updatecheckconfiglistener.hxx"
#include "updateinfo.hxx"
-/* Interface to acess configuration data read-only */
+/* Interface to access configuration data read-only */
struct IByNameAccess
{
virtual ::com::sun::star::uno::Any getValue(const sal_Char * pName) = 0;
@@ -217,7 +217,7 @@ T getValue( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Name
{
for( sal_Int32 n=0; n < rNamedValues.getLength(); n++ )
{
- // Unfortunatly gcc-3.3 does not like Any.get<T>();
+ // Unfortunately gcc-3.3 does not like Any.get<T>();
if( rNamedValues[n].Name.equalsAscii( pszName ) )
{
T value = T();
diff --git a/extensions/source/update/ui/updatecheckui.cxx b/extensions/source/update/ui/updatecheckui.cxx
index cb93496f3d7e..7fc0cb686d3a 100644
--- a/extensions/source/update/ui/updatecheckui.cxx
+++ b/extensions/source/update/ui/updatecheckui.cxx
@@ -772,7 +772,7 @@ IMPL_LINK( UpdateCheckUI, WindowEventHdl, VclWindowEvent*, pEvent )
Point aWinPos = aIconRect.BottomCenter();
mpBubbleWin->SetTipPosPixel( aWinPos );
if ( mpBubbleWin->IsVisible() )
- mpBubbleWin->Show(); // This will recalc the screen positon of the bubble
+ mpBubbleWin->Show(); // This will recalc the screen position of the bubble
}
}