summaryrefslogtreecommitdiff
path: root/embeddedobj
diff options
context:
space:
mode:
Diffstat (limited to 'embeddedobj')
-rwxr-xr-x[-rw-r--r--]embeddedobj/inc/makefile.mk0
-rwxr-xr-x[-rw-r--r--]embeddedobj/inc/pch/precompiled_embeddedobj.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/inc/pch/precompiled_embeddedobj.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/prj/build.lst2
-rwxr-xr-x[-rw-r--r--]embeddedobj/prj/d.lst2
-rwxr-xr-x[-rw-r--r--]embeddedobj/prj/l10n0
-rwxr-xr-x[-rw-r--r--]embeddedobj/qa/embedding/EmbeddingTest.java0
-rwxr-xr-x[-rw-r--r--]embeddedobj/qa/embedding/EmbeddingUnitTest.java0
-rwxr-xr-x[-rw-r--r--]embeddedobj/qa/embedding/Test01.java0
-rwxr-xr-x[-rw-r--r--]embeddedobj/qa/embedding/TestHelper.java0
-rwxr-xr-x[-rw-r--r--]embeddedobj/qa/embedding/makefile.mk0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/commonembedding/embedobj.cxx26
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/commonembedding/inplaceobj.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/commonembedding/makefile.mk0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/commonembedding/miscobj.cxx17
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/commonembedding/persistence.cxx22
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/commonembedding/register.cxx42
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/commonembedding/specialobject.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/commonembedding/visobj.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/commonembedding/xfactory.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/commonembedding/xfactory.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/general/docholder.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/general/dummyobject.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/general/intercept.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/general/makefile.mk0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/general/xcreator.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/inc/closepreventer.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/inc/commonembobj.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/inc/docholder.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/inc/dummyobject.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/inc/intercept.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/inc/oleembobj.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/inc/specialobject.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/inc/targetstatecontrol.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/inc/xcreator.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/advisesink.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/advisesink.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/closepreventer.cxx0
-rwxr-xr-xembeddedobj/source/msole/emboleobj.component35
-rwxr-xr-xembeddedobj/source/msole/emboleobj.windows.component39
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/exports.dxp1
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/graphconvert.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/makefile.mk11
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/mtnotification.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/olecomponent.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/olecomponent.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/oleembed.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/olemisc.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/olepersist.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/oleregister.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/olevisual.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/olewrapclient.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/olewrapclient.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/ownview.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/ownview.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/platform.h0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/xdialogcreator.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/xdialogcreator.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/xolefactory.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/source/msole/xolefactory.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/Container1/BitmapPainter.java0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/Container1/EmbedContApp.java0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/Container1/EmbedContFrame.java0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/Container1/JavaWindowPeerFake.java0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/Container1/NativeView.java0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/Container1/PaintThread.java0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/Container1/WindowHelper.java0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/Container1/makefile.mk0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/Container1/nativelib/exports.dxp0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/Container1/nativelib/makefile.mk0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/Container1/nativelib/nativeview.c0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/Container1/nativelib/nativeview.h0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/MainThreadExecutor/exports.dxp0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/MainThreadExecutor/makefile.mk0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/MainThreadExecutor/register.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/MainThreadExecutor/xexecutor.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/MainThreadExecutor/xexecutor.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/mtexecutor/bitmapcreator.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/mtexecutor/bitmapcreator.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/mtexecutor/exports.dxp0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/mtexecutor/mainthreadexecutor.cxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/mtexecutor/mainthreadexecutor.hxx0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/mtexecutor/makefile.mk0
-rwxr-xr-x[-rw-r--r--]embeddedobj/test/mtexecutor/mteregister.cxx0
-rwxr-xr-xembeddedobj/util/embobj.component43
-rwxr-xr-x[-rw-r--r--]embeddedobj/util/exports.dxp1
-rwxr-xr-x[-rw-r--r--]embeddedobj/util/makefile.mk8
87 files changed, 185 insertions, 64 deletions
diff --git a/embeddedobj/inc/makefile.mk b/embeddedobj/inc/makefile.mk
index 29b98e89a4f4..29b98e89a4f4 100644..100755
--- a/embeddedobj/inc/makefile.mk
+++ b/embeddedobj/inc/makefile.mk
diff --git a/embeddedobj/inc/pch/precompiled_embeddedobj.cxx b/embeddedobj/inc/pch/precompiled_embeddedobj.cxx
index 7b17fa7b2aaa..7b17fa7b2aaa 100644..100755
--- a/embeddedobj/inc/pch/precompiled_embeddedobj.cxx
+++ b/embeddedobj/inc/pch/precompiled_embeddedobj.cxx
diff --git a/embeddedobj/inc/pch/precompiled_embeddedobj.hxx b/embeddedobj/inc/pch/precompiled_embeddedobj.hxx
index 758cd7a32358..758cd7a32358 100644..100755
--- a/embeddedobj/inc/pch/precompiled_embeddedobj.hxx
+++ b/embeddedobj/inc/pch/precompiled_embeddedobj.hxx
diff --git a/embeddedobj/prj/build.lst b/embeddedobj/prj/build.lst
index e6b48d8e00f2..b1219f0cdf53 100644..100755
--- a/embeddedobj/prj/build.lst
+++ b/embeddedobj/prj/build.lst
@@ -1,4 +1,4 @@
-eo embeddedobj : offuh sal cppu cppuhelper comphelper tools unotools NULL
+eo embeddedobj : offuh sal cppu cppuhelper comphelper tools unotools LIBXSLT:libxslt NULL
eo embeddedobj usr1 - all eo_mkout NULL
eo embeddedobj\inc nmake - all eo_inc NULL
eo embeddedobj\source\commonembedding nmake - all eo_commonembed eo_inc NULL
diff --git a/embeddedobj/prj/d.lst b/embeddedobj/prj/d.lst
index 69721747166a..e85b439a1e34 100644..100755
--- a/embeddedobj/prj/d.lst
+++ b/embeddedobj/prj/d.lst
@@ -4,3 +4,5 @@ mkdir: %_DEST%\xml%_EXT%\registry\spool
..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%\lib*.so
..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
..\dtd\*.dtd %_DEST%\bin%_EXT%\*.*
+..\%__SRC%\misc\embobj.component %_DEST%\xml%_EXT%\embobj.component
+..\%__SRC%\misc\emboleobj.component %_DEST%\xml%_EXT%\emboleobj.component
diff --git a/embeddedobj/prj/l10n b/embeddedobj/prj/l10n
index 69f0d9e5e24e..69f0d9e5e24e 100644..100755
--- a/embeddedobj/prj/l10n
+++ b/embeddedobj/prj/l10n
diff --git a/embeddedobj/qa/embedding/EmbeddingTest.java b/embeddedobj/qa/embedding/EmbeddingTest.java
index bb57700abfed..bb57700abfed 100644..100755
--- a/embeddedobj/qa/embedding/EmbeddingTest.java
+++ b/embeddedobj/qa/embedding/EmbeddingTest.java
diff --git a/embeddedobj/qa/embedding/EmbeddingUnitTest.java b/embeddedobj/qa/embedding/EmbeddingUnitTest.java
index 5f1b3f81c84a..5f1b3f81c84a 100644..100755
--- a/embeddedobj/qa/embedding/EmbeddingUnitTest.java
+++ b/embeddedobj/qa/embedding/EmbeddingUnitTest.java
diff --git a/embeddedobj/qa/embedding/Test01.java b/embeddedobj/qa/embedding/Test01.java
index 088500234abb..088500234abb 100644..100755
--- a/embeddedobj/qa/embedding/Test01.java
+++ b/embeddedobj/qa/embedding/Test01.java
diff --git a/embeddedobj/qa/embedding/TestHelper.java b/embeddedobj/qa/embedding/TestHelper.java
index fd0c26ebbc78..fd0c26ebbc78 100644..100755
--- a/embeddedobj/qa/embedding/TestHelper.java
+++ b/embeddedobj/qa/embedding/TestHelper.java
diff --git a/embeddedobj/qa/embedding/makefile.mk b/embeddedobj/qa/embedding/makefile.mk
index 78c6dfb8057d..78c6dfb8057d 100644..100755
--- a/embeddedobj/qa/embedding/makefile.mk
+++ b/embeddedobj/qa/embedding/makefile.mk
diff --git a/embeddedobj/source/commonembedding/embedobj.cxx b/embeddedobj/source/commonembedding/embedobj.cxx
index c53ffb377ab0..29b76d346a71 100644..100755
--- a/embeddedobj/source/commonembedding/embedobj.cxx
+++ b/embeddedobj/source/commonembedding/embedobj.cxx
@@ -166,7 +166,7 @@ void OCommonEmbeddedObject::StateChangeNotification_Impl( sal_Bool bBeforeChange
void OCommonEmbeddedObject::SwitchStateTo_Impl( sal_Int32 nNextState )
{
// TODO: may be needs interaction handler to detect wherether the object state
- // can be changed even after errors
+ // can be changed even after errors
if ( m_nObjectState == embed::EmbedStates::LOADED )
{
@@ -236,7 +236,10 @@ void OCommonEmbeddedObject::SwitchStateTo_Impl( sal_Int32 nNextState )
if ( nNextState == embed::EmbedStates::INPLACE_ACTIVE )
{
if ( !m_xClientSite.is() )
- throw embed::WrongStateException(); //TODO: client site is not set!
+ throw embed::WrongStateException(
+ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "client site not set, yet" ) ),
+ *this
+ );
uno::Reference< embed::XInplaceClient > xInplaceClient( m_xClientSite, uno::UNO_QUERY );
if ( xInplaceClient.is() && xInplaceClient->canInplaceActivate() )
@@ -486,14 +489,19 @@ void SAL_CALL OCommonEmbeddedObject::changeState( sal_Int32 nNewState )
{
if ( nOldState != m_nObjectState )
// notify listeners that the object has changed the state
- StateChangeNotification_Impl( sal_False, nOldState, m_nObjectState ,aGuard);
+ StateChangeNotification_Impl( sal_False, nOldState, m_nObjectState, aGuard );
throw;
}
}
// notify listeners that the object has changed the state
- StateChangeNotification_Impl( sal_False, nOldState, nNewState,aGuard );
+ StateChangeNotification_Impl( sal_False, nOldState, nNewState, aGuard );
+
+ // let the object window be shown
+ if ( nNewState == embed::EmbedStates::UI_ACTIVE || nNewState == embed::EmbedStates::INPLACE_ACTIVE )
+ PostEvent_Impl( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "OnVisAreaChanged" ) ),
+ uno::Reference< uno::XInterface >( static_cast< ::cppu::OWeakObject* >(this) ) );
}
}
@@ -502,7 +510,6 @@ uno::Sequence< sal_Int32 > SAL_CALL OCommonEmbeddedObject::getReachableStates()
throw ( embed::WrongStateException,
uno::RuntimeException )
{
- ::osl::MutexGuard aGuard( m_aMutex );
if ( m_bDisposed )
throw lang::DisposedException(); // TODO
@@ -518,7 +525,6 @@ sal_Int32 SAL_CALL OCommonEmbeddedObject::getCurrentState()
throw ( embed::WrongStateException,
uno::RuntimeException )
{
- ::osl::MutexGuard aGuard( m_aMutex );
if ( m_bDisposed )
throw lang::DisposedException(); // TODO
@@ -539,7 +545,7 @@ void SAL_CALL OCommonEmbeddedObject::doVerb( sal_Int32 nVerbID )
{
RTL_LOGFILE_CONTEXT( aLog, "embeddedobj (mv76033) OCommonEmbeddedObject::doVerb" );
- ::osl::MutexGuard aGuard( m_aMutex );
+ ::osl::ResettableMutexGuard aGuard( m_aMutex );
if ( m_bDisposed )
throw lang::DisposedException(); // TODO
@@ -562,7 +568,10 @@ void SAL_CALL OCommonEmbeddedObject::doVerb( sal_Int32 nVerbID )
// TODO/LATER: check if the verb is a supported one and if it is produce related operation
}
else
+ {
+ aGuard.clear();
changeState( nNewState );
+ }
}
//----------------------------------------------
@@ -570,7 +579,6 @@ uno::Sequence< embed::VerbDescriptor > SAL_CALL OCommonEmbeddedObject::getSuppor
throw ( embed::WrongStateException,
uno::RuntimeException )
{
- ::osl::MutexGuard aGuard( m_aMutex );
if ( m_bDisposed )
throw lang::DisposedException(); // TODO
@@ -607,7 +615,6 @@ uno::Reference< embed::XEmbeddedClient > SAL_CALL OCommonEmbeddedObject::getClie
throw ( embed::WrongStateException,
uno::RuntimeException )
{
- ::osl::MutexGuard aGuard( m_aMutex );
if ( m_bDisposed )
throw lang::DisposedException(); // TODO
@@ -660,7 +667,6 @@ sal_Int64 SAL_CALL OCommonEmbeddedObject::getStatus( sal_Int64 )
throw ( embed::WrongStateException,
uno::RuntimeException )
{
- ::osl::MutexGuard aGuard( m_aMutex );
if ( m_bDisposed )
throw lang::DisposedException(); // TODO
diff --git a/embeddedobj/source/commonembedding/inplaceobj.cxx b/embeddedobj/source/commonembedding/inplaceobj.cxx
index 6ca80ce1c2d6..6ca80ce1c2d6 100644..100755
--- a/embeddedobj/source/commonembedding/inplaceobj.cxx
+++ b/embeddedobj/source/commonembedding/inplaceobj.cxx
diff --git a/embeddedobj/source/commonembedding/makefile.mk b/embeddedobj/source/commonembedding/makefile.mk
index d731b729d919..d731b729d919 100644..100755
--- a/embeddedobj/source/commonembedding/makefile.mk
+++ b/embeddedobj/source/commonembedding/makefile.mk
diff --git a/embeddedobj/source/commonembedding/miscobj.cxx b/embeddedobj/source/commonembedding/miscobj.cxx
index 1e9282a4b2e6..2ca46ed1227e 100644..100755
--- a/embeddedobj/source/commonembedding/miscobj.cxx
+++ b/embeddedobj/source/commonembedding/miscobj.cxx
@@ -40,6 +40,7 @@
#include <cppuhelper/typeprovider.hxx>
#include <cppuhelper/interfacecontainer.h>
+#include <comphelper/mimeconfighelper.hxx>
#include "closepreventer.hxx"
#include "intercept.hxx"
@@ -241,6 +242,14 @@ void OCommonEmbeddedObject::LinkInit_Impl(
OSL_ENSURE( m_aLinkURL.getLength() && m_aLinkFilterName.getLength(), "Filter and URL must be provided!\n" );
+ m_bReadOnly = sal_True;
+ if ( m_aLinkFilterName.getLength() )
+ {
+ ::comphelper::MimeConfigurationHelper aHelper( m_xFactory );
+ ::rtl::OUString aExportFilterName = aHelper.GetExportFilterFromImportFilter( m_aLinkFilterName );
+ m_bReadOnly = !( aExportFilterName.equals( m_aLinkFilterName ) );
+ }
+
m_aDocMediaDescriptor = GetValuableArgs_Impl( aMediaDescr, sal_False );
uno::Reference< frame::XDispatchProviderInterceptor > xDispatchInterceptor;
@@ -334,7 +343,7 @@ void OCommonEmbeddedObject::PostEvent_Impl( const ::rtl::OUString& aEventName,
aEvent.Source = uno::Reference< uno::XInterface >( static_cast< ::cppu::OWeakObject* >( this ) );
// For now all the events are sent as object events
// aEvent.Source = ( xSource.is() ? xSource
- // : uno::Reference< uno::XInterface >( static_cast< ::cppu::OWeakObject* >( this ) ) );
+ // : uno::Reference< uno::XInterface >( static_cast< ::cppu::OWeakObject* >( this ) ) );
::cppu::OInterfaceIteratorHelper aIt( *pIC );
while( aIt.hasMoreElements() )
{
@@ -468,9 +477,8 @@ uno::Sequence< sal_Int8 > SAL_CALL OCommonEmbeddedObject::getImplementationId()
uno::Sequence< sal_Int8 > SAL_CALL OCommonEmbeddedObject::getClassID()
throw ( uno::RuntimeException )
{
- ::osl::MutexGuard aGuard( m_aMutex );
if ( m_bDisposed )
- throw lang::DisposedException(); // TODO
+ throw lang::DisposedException();
return m_aClassID;
}
@@ -479,9 +487,8 @@ uno::Sequence< sal_Int8 > SAL_CALL OCommonEmbeddedObject::getClassID()
::rtl::OUString SAL_CALL OCommonEmbeddedObject::getClassName()
throw ( uno::RuntimeException )
{
- ::osl::MutexGuard aGuard( m_aMutex );
if ( m_bDisposed )
- throw lang::DisposedException(); // TODO
+ throw lang::DisposedException();
return m_aClassName;
}
diff --git a/embeddedobj/source/commonembedding/persistence.cxx b/embeddedobj/source/commonembedding/persistence.cxx
index c15dbcf4401d..36589bc357b9 100644..100755
--- a/embeddedobj/source/commonembedding/persistence.cxx
+++ b/embeddedobj/source/commonembedding/persistence.cxx
@@ -228,11 +228,11 @@ static uno::Reference< util::XCloseable > CreateDocument( const uno::Reference<
}
catch( const uno::Exception& )
{
- // some of our embedded object implementations (in particular chart) do neither support
- // the EmbeddedObject, nor the EmbeddedScriptSupport argument. Also, they do not support
- // XInitialization, which means the default factory from cppuhelper will throw an
+ // if an embedded object implementation does not support XInitialization,
+ // the default factory from cppuhelper will throw an
// IllegalArgumentException when we try to create the instance with arguments.
// Okay, so we fall back to creating the instance without any arguments.
+ OSL_ASSERT("Consider implementing interface XInitialization to avoid duplicate construction");
xDocument = _rxFactory->createInstance( _rDocumentServiceName );
}
@@ -975,7 +975,21 @@ void SAL_CALL OCommonEmbeddedObject::setPersistentEntry(
if ( m_bWaitSaveCompleted )
{
if ( nEntryConnectionMode == embed::EntryInitModes::NO_INIT )
- saveCompleted( ( m_xParentStorage != xStorage || !m_aEntryName.equals( sEntName ) ) );
+ {
+ // saveCompleted is expected, handle it accordingly
+ if ( m_xNewParentStorage == xStorage && m_aNewEntryName.equals( sEntName ) )
+ {
+ saveCompleted( sal_True );
+ return;
+ }
+
+ // if a completely different entry is provided, switch first back to the old persistence in saveCompleted
+ // and then switch to the target persistence
+ sal_Bool bSwitchFurther = ( m_xParentStorage != xStorage || !m_aEntryName.equals( sEntName ) );
+ saveCompleted( sal_False );
+ if ( !bSwitchFurther )
+ return;
+ }
else
throw embed::WrongStateException(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "The object waits for saveCompleted() call!\n" )),
diff --git a/embeddedobj/source/commonembedding/register.cxx b/embeddedobj/source/commonembedding/register.cxx
index 0266d8386257..6dbfe46c0c86 100644..100755
--- a/embeddedobj/source/commonembedding/register.cxx
+++ b/embeddedobj/source/commonembedding/register.cxx
@@ -88,48 +88,6 @@ void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServic
return pRet;
}
-sal_Bool SAL_CALL component_writeInfo( void * /*pServiceManager*/, void * pRegistryKey )
-{
- if (pRegistryKey)
- {
- try
- {
- sal_Int32 nInd = 0;
- uno::Reference< registry::XRegistryKey > xKey( reinterpret_cast< registry::XRegistryKey* >( pRegistryKey ) );
-
- uno::Reference< registry::XRegistryKey > xNewKey;
-
- xNewKey = xKey->createKey( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) +
- OOoEmbeddedObjectFactory::impl_staticGetImplementationName() +
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) );
- uno::Sequence< ::rtl::OUString > rServices = OOoEmbeddedObjectFactory::impl_staticGetSupportedServiceNames();
- for( nInd = 0; nInd < rServices.getLength(); nInd++ )
- xNewKey->createKey( rServices.getConstArray()[nInd] );
-
- xNewKey = xKey->createKey( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) +
- OOoSpecialEmbeddedObjectFactory::impl_staticGetImplementationName() +
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) );
- rServices = OOoSpecialEmbeddedObjectFactory::impl_staticGetSupportedServiceNames();
- for( nInd = 0; nInd < rServices.getLength(); nInd++ )
- xNewKey->createKey( rServices.getConstArray()[nInd] );
-
- xNewKey = xKey->createKey( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) +
- UNOEmbeddedObjectCreator::impl_staticGetImplementationName() +
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) );
- rServices = UNOEmbeddedObjectCreator::impl_staticGetSupportedServiceNames();
- for( nInd = 0; nInd < rServices.getLength(); nInd++ )
- xNewKey->createKey( rServices.getConstArray()[nInd] );
-
- return sal_True;
- }
- catch (registry::InvalidRegistryException &)
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
- return sal_False;
-}
-
} // extern "C"
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/embeddedobj/source/commonembedding/specialobject.cxx b/embeddedobj/source/commonembedding/specialobject.cxx
index 802056b72af7..802056b72af7 100644..100755
--- a/embeddedobj/source/commonembedding/specialobject.cxx
+++ b/embeddedobj/source/commonembedding/specialobject.cxx
diff --git a/embeddedobj/source/commonembedding/visobj.cxx b/embeddedobj/source/commonembedding/visobj.cxx
index 7be21d75f92b..7be21d75f92b 100644..100755
--- a/embeddedobj/source/commonembedding/visobj.cxx
+++ b/embeddedobj/source/commonembedding/visobj.cxx
diff --git a/embeddedobj/source/commonembedding/xfactory.cxx b/embeddedobj/source/commonembedding/xfactory.cxx
index 28321bfc3aa5..28321bfc3aa5 100644..100755
--- a/embeddedobj/source/commonembedding/xfactory.cxx
+++ b/embeddedobj/source/commonembedding/xfactory.cxx
diff --git a/embeddedobj/source/commonembedding/xfactory.hxx b/embeddedobj/source/commonembedding/xfactory.hxx
index 7f0b668bb750..7f0b668bb750 100644..100755
--- a/embeddedobj/source/commonembedding/xfactory.hxx
+++ b/embeddedobj/source/commonembedding/xfactory.hxx
diff --git a/embeddedobj/source/general/docholder.cxx b/embeddedobj/source/general/docholder.cxx
index d72ab4529ae2..d72ab4529ae2 100644..100755
--- a/embeddedobj/source/general/docholder.cxx
+++ b/embeddedobj/source/general/docholder.cxx
diff --git a/embeddedobj/source/general/dummyobject.cxx b/embeddedobj/source/general/dummyobject.cxx
index c459ffc1fb90..c459ffc1fb90 100644..100755
--- a/embeddedobj/source/general/dummyobject.cxx
+++ b/embeddedobj/source/general/dummyobject.cxx
diff --git a/embeddedobj/source/general/intercept.cxx b/embeddedobj/source/general/intercept.cxx
index 7359ee225b4d..7359ee225b4d 100644..100755
--- a/embeddedobj/source/general/intercept.cxx
+++ b/embeddedobj/source/general/intercept.cxx
diff --git a/embeddedobj/source/general/makefile.mk b/embeddedobj/source/general/makefile.mk
index 2aab0573588f..2aab0573588f 100644..100755
--- a/embeddedobj/source/general/makefile.mk
+++ b/embeddedobj/source/general/makefile.mk
diff --git a/embeddedobj/source/general/xcreator.cxx b/embeddedobj/source/general/xcreator.cxx
index 9654f0004e9a..9654f0004e9a 100644..100755
--- a/embeddedobj/source/general/xcreator.cxx
+++ b/embeddedobj/source/general/xcreator.cxx
diff --git a/embeddedobj/source/inc/closepreventer.hxx b/embeddedobj/source/inc/closepreventer.hxx
index 3ee9456c2bad..3ee9456c2bad 100644..100755
--- a/embeddedobj/source/inc/closepreventer.hxx
+++ b/embeddedobj/source/inc/closepreventer.hxx
diff --git a/embeddedobj/source/inc/commonembobj.hxx b/embeddedobj/source/inc/commonembobj.hxx
index cd5ff0341f9b..cd5ff0341f9b 100644..100755
--- a/embeddedobj/source/inc/commonembobj.hxx
+++ b/embeddedobj/source/inc/commonembobj.hxx
diff --git a/embeddedobj/source/inc/docholder.hxx b/embeddedobj/source/inc/docholder.hxx
index e82136d5a37b..e82136d5a37b 100644..100755
--- a/embeddedobj/source/inc/docholder.hxx
+++ b/embeddedobj/source/inc/docholder.hxx
diff --git a/embeddedobj/source/inc/dummyobject.hxx b/embeddedobj/source/inc/dummyobject.hxx
index 4655bbc3d81b..4655bbc3d81b 100644..100755
--- a/embeddedobj/source/inc/dummyobject.hxx
+++ b/embeddedobj/source/inc/dummyobject.hxx
diff --git a/embeddedobj/source/inc/intercept.hxx b/embeddedobj/source/inc/intercept.hxx
index 22420b44d7c2..22420b44d7c2 100644..100755
--- a/embeddedobj/source/inc/intercept.hxx
+++ b/embeddedobj/source/inc/intercept.hxx
diff --git a/embeddedobj/source/inc/oleembobj.hxx b/embeddedobj/source/inc/oleembobj.hxx
index 8d34e8fbce5b..8d34e8fbce5b 100644..100755
--- a/embeddedobj/source/inc/oleembobj.hxx
+++ b/embeddedobj/source/inc/oleembobj.hxx
diff --git a/embeddedobj/source/inc/specialobject.hxx b/embeddedobj/source/inc/specialobject.hxx
index 429177a34a13..429177a34a13 100644..100755
--- a/embeddedobj/source/inc/specialobject.hxx
+++ b/embeddedobj/source/inc/specialobject.hxx
diff --git a/embeddedobj/source/inc/targetstatecontrol.hxx b/embeddedobj/source/inc/targetstatecontrol.hxx
index e97e3dd809cd..e97e3dd809cd 100644..100755
--- a/embeddedobj/source/inc/targetstatecontrol.hxx
+++ b/embeddedobj/source/inc/targetstatecontrol.hxx
diff --git a/embeddedobj/source/inc/xcreator.hxx b/embeddedobj/source/inc/xcreator.hxx
index c5816f506393..c5816f506393 100644..100755
--- a/embeddedobj/source/inc/xcreator.hxx
+++ b/embeddedobj/source/inc/xcreator.hxx
diff --git a/embeddedobj/source/msole/advisesink.cxx b/embeddedobj/source/msole/advisesink.cxx
index 5195eb65ac9a..5195eb65ac9a 100644..100755
--- a/embeddedobj/source/msole/advisesink.cxx
+++ b/embeddedobj/source/msole/advisesink.cxx
diff --git a/embeddedobj/source/msole/advisesink.hxx b/embeddedobj/source/msole/advisesink.hxx
index 93432b14b20a..93432b14b20a 100644..100755
--- a/embeddedobj/source/msole/advisesink.hxx
+++ b/embeddedobj/source/msole/advisesink.hxx
diff --git a/embeddedobj/source/msole/closepreventer.cxx b/embeddedobj/source/msole/closepreventer.cxx
index c5d744c541a1..c5d744c541a1 100644..100755
--- a/embeddedobj/source/msole/closepreventer.cxx
+++ b/embeddedobj/source/msole/closepreventer.cxx
diff --git a/embeddedobj/source/msole/emboleobj.component b/embeddedobj/source/msole/emboleobj.component
new file mode 100755
index 000000000000..96f8ed0d8d57
--- /dev/null
+++ b/embeddedobj/source/msole/emboleobj.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org 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 version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.embed.OLEEmbeddedObjectFactory">
+ <service name="com.sun.star.comp.embed.OLEEmbeddedObjectFactory"/>
+ <service name="com.sun.star.embed.OLEEmbeddedObjectFactory"/>
+ </implementation>
+</component>
diff --git a/embeddedobj/source/msole/emboleobj.windows.component b/embeddedobj/source/msole/emboleobj.windows.component
new file mode 100755
index 000000000000..644a1d4f19a1
--- /dev/null
+++ b/embeddedobj/source/msole/emboleobj.windows.component
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org 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 version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.embed.MSOLEObjectSystemCreator">
+ <service name="com.sun.star.comp.embed.MSOLEObjectSystemCreator"/>
+ <service name="com.sun.star.embed.MSOLEObjectSystemCreator"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.embed.OLEEmbeddedObjectFactory">
+ <service name="com.sun.star.comp.embed.OLEEmbeddedObjectFactory"/>
+ <service name="com.sun.star.embed.OLEEmbeddedObjectFactory"/>
+ </implementation>
+</component>
diff --git a/embeddedobj/source/msole/exports.dxp b/embeddedobj/source/msole/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644..100755
--- a/embeddedobj/source/msole/exports.dxp
+++ b/embeddedobj/source/msole/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/embeddedobj/source/msole/graphconvert.cxx b/embeddedobj/source/msole/graphconvert.cxx
index f177f19be449..f177f19be449 100644..100755
--- a/embeddedobj/source/msole/graphconvert.cxx
+++ b/embeddedobj/source/msole/graphconvert.cxx
diff --git a/embeddedobj/source/msole/makefile.mk b/embeddedobj/source/msole/makefile.mk
index e8d4a42d1913..b7f3482fa0bb 100644..100755
--- a/embeddedobj/source/msole/makefile.mk
+++ b/embeddedobj/source/msole/makefile.mk
@@ -129,3 +129,14 @@ DEF1NAME= $(SHL1TARGET)
.INCLUDE : target.mk
+ALLTAR : $(MISC)/emboleobj.component
+
+.IF "$(OS)" == "WNT"
+my_platform = .windows
+.END
+
+$(MISC)/emboleobj.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ emboleobj.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt emboleobj$(my_platform).component
diff --git a/embeddedobj/source/msole/mtnotification.hxx b/embeddedobj/source/msole/mtnotification.hxx
index 85c95f688fe4..85c95f688fe4 100644..100755
--- a/embeddedobj/source/msole/mtnotification.hxx
+++ b/embeddedobj/source/msole/mtnotification.hxx
diff --git a/embeddedobj/source/msole/olecomponent.cxx b/embeddedobj/source/msole/olecomponent.cxx
index 2b45ba7aefd4..2b45ba7aefd4 100644..100755
--- a/embeddedobj/source/msole/olecomponent.cxx
+++ b/embeddedobj/source/msole/olecomponent.cxx
diff --git a/embeddedobj/source/msole/olecomponent.hxx b/embeddedobj/source/msole/olecomponent.hxx
index 814127542e81..814127542e81 100644..100755
--- a/embeddedobj/source/msole/olecomponent.hxx
+++ b/embeddedobj/source/msole/olecomponent.hxx
diff --git a/embeddedobj/source/msole/oleembed.cxx b/embeddedobj/source/msole/oleembed.cxx
index 4d925b9daa91..4d925b9daa91 100644..100755
--- a/embeddedobj/source/msole/oleembed.cxx
+++ b/embeddedobj/source/msole/oleembed.cxx
diff --git a/embeddedobj/source/msole/olemisc.cxx b/embeddedobj/source/msole/olemisc.cxx
index 016115fd45fe..016115fd45fe 100644..100755
--- a/embeddedobj/source/msole/olemisc.cxx
+++ b/embeddedobj/source/msole/olemisc.cxx
diff --git a/embeddedobj/source/msole/olepersist.cxx b/embeddedobj/source/msole/olepersist.cxx
index 72266e50b729..72266e50b729 100644..100755
--- a/embeddedobj/source/msole/olepersist.cxx
+++ b/embeddedobj/source/msole/olepersist.cxx
diff --git a/embeddedobj/source/msole/oleregister.cxx b/embeddedobj/source/msole/oleregister.cxx
index 39a35230a13b..39a35230a13b 100644..100755
--- a/embeddedobj/source/msole/oleregister.cxx
+++ b/embeddedobj/source/msole/oleregister.cxx
diff --git a/embeddedobj/source/msole/olevisual.cxx b/embeddedobj/source/msole/olevisual.cxx
index cafafec515ba..cafafec515ba 100644..100755
--- a/embeddedobj/source/msole/olevisual.cxx
+++ b/embeddedobj/source/msole/olevisual.cxx
diff --git a/embeddedobj/source/msole/olewrapclient.cxx b/embeddedobj/source/msole/olewrapclient.cxx
index 979c470bc27f..979c470bc27f 100644..100755
--- a/embeddedobj/source/msole/olewrapclient.cxx
+++ b/embeddedobj/source/msole/olewrapclient.cxx
diff --git a/embeddedobj/source/msole/olewrapclient.hxx b/embeddedobj/source/msole/olewrapclient.hxx
index 4cda361b0556..4cda361b0556 100644..100755
--- a/embeddedobj/source/msole/olewrapclient.hxx
+++ b/embeddedobj/source/msole/olewrapclient.hxx
diff --git a/embeddedobj/source/msole/ownview.cxx b/embeddedobj/source/msole/ownview.cxx
index 16f3968bd5d3..16f3968bd5d3 100644..100755
--- a/embeddedobj/source/msole/ownview.cxx
+++ b/embeddedobj/source/msole/ownview.cxx
diff --git a/embeddedobj/source/msole/ownview.hxx b/embeddedobj/source/msole/ownview.hxx
index dccaec5d178e..dccaec5d178e 100644..100755
--- a/embeddedobj/source/msole/ownview.hxx
+++ b/embeddedobj/source/msole/ownview.hxx
diff --git a/embeddedobj/source/msole/platform.h b/embeddedobj/source/msole/platform.h
index 6333ac849858..6333ac849858 100644..100755
--- a/embeddedobj/source/msole/platform.h
+++ b/embeddedobj/source/msole/platform.h
diff --git a/embeddedobj/source/msole/xdialogcreator.cxx b/embeddedobj/source/msole/xdialogcreator.cxx
index 5305771a1d9b..5305771a1d9b 100644..100755
--- a/embeddedobj/source/msole/xdialogcreator.cxx
+++ b/embeddedobj/source/msole/xdialogcreator.cxx
diff --git a/embeddedobj/source/msole/xdialogcreator.hxx b/embeddedobj/source/msole/xdialogcreator.hxx
index 4f2732b0fbf7..4f2732b0fbf7 100644..100755
--- a/embeddedobj/source/msole/xdialogcreator.hxx
+++ b/embeddedobj/source/msole/xdialogcreator.hxx
diff --git a/embeddedobj/source/msole/xolefactory.cxx b/embeddedobj/source/msole/xolefactory.cxx
index 9529541cd02c..9529541cd02c 100644..100755
--- a/embeddedobj/source/msole/xolefactory.cxx
+++ b/embeddedobj/source/msole/xolefactory.cxx
diff --git a/embeddedobj/source/msole/xolefactory.hxx b/embeddedobj/source/msole/xolefactory.hxx
index 9896f4716601..9896f4716601 100644..100755
--- a/embeddedobj/source/msole/xolefactory.hxx
+++ b/embeddedobj/source/msole/xolefactory.hxx
diff --git a/embeddedobj/test/Container1/BitmapPainter.java b/embeddedobj/test/Container1/BitmapPainter.java
index 2910eab3f224..2910eab3f224 100644..100755
--- a/embeddedobj/test/Container1/BitmapPainter.java
+++ b/embeddedobj/test/Container1/BitmapPainter.java
diff --git a/embeddedobj/test/Container1/EmbedContApp.java b/embeddedobj/test/Container1/EmbedContApp.java
index 5fdc9f14cf63..5fdc9f14cf63 100644..100755
--- a/embeddedobj/test/Container1/EmbedContApp.java
+++ b/embeddedobj/test/Container1/EmbedContApp.java
diff --git a/embeddedobj/test/Container1/EmbedContFrame.java b/embeddedobj/test/Container1/EmbedContFrame.java
index 033b3164985e..033b3164985e 100644..100755
--- a/embeddedobj/test/Container1/EmbedContFrame.java
+++ b/embeddedobj/test/Container1/EmbedContFrame.java
diff --git a/embeddedobj/test/Container1/JavaWindowPeerFake.java b/embeddedobj/test/Container1/JavaWindowPeerFake.java
index 8764f0d8659c..8764f0d8659c 100644..100755
--- a/embeddedobj/test/Container1/JavaWindowPeerFake.java
+++ b/embeddedobj/test/Container1/JavaWindowPeerFake.java
diff --git a/embeddedobj/test/Container1/NativeView.java b/embeddedobj/test/Container1/NativeView.java
index e88e2a0ad886..e88e2a0ad886 100644..100755
--- a/embeddedobj/test/Container1/NativeView.java
+++ b/embeddedobj/test/Container1/NativeView.java
diff --git a/embeddedobj/test/Container1/PaintThread.java b/embeddedobj/test/Container1/PaintThread.java
index 7f4f871ffd71..7f4f871ffd71 100644..100755
--- a/embeddedobj/test/Container1/PaintThread.java
+++ b/embeddedobj/test/Container1/PaintThread.java
diff --git a/embeddedobj/test/Container1/WindowHelper.java b/embeddedobj/test/Container1/WindowHelper.java
index 289542b833ac..289542b833ac 100644..100755
--- a/embeddedobj/test/Container1/WindowHelper.java
+++ b/embeddedobj/test/Container1/WindowHelper.java
diff --git a/embeddedobj/test/Container1/makefile.mk b/embeddedobj/test/Container1/makefile.mk
index e482384dd9d6..e482384dd9d6 100644..100755
--- a/embeddedobj/test/Container1/makefile.mk
+++ b/embeddedobj/test/Container1/makefile.mk
diff --git a/embeddedobj/test/Container1/nativelib/exports.dxp b/embeddedobj/test/Container1/nativelib/exports.dxp
index e03ee0d2bccd..e03ee0d2bccd 100644..100755
--- a/embeddedobj/test/Container1/nativelib/exports.dxp
+++ b/embeddedobj/test/Container1/nativelib/exports.dxp
diff --git a/embeddedobj/test/Container1/nativelib/makefile.mk b/embeddedobj/test/Container1/nativelib/makefile.mk
index 331a5b12f2e8..331a5b12f2e8 100644..100755
--- a/embeddedobj/test/Container1/nativelib/makefile.mk
+++ b/embeddedobj/test/Container1/nativelib/makefile.mk
diff --git a/embeddedobj/test/Container1/nativelib/nativeview.c b/embeddedobj/test/Container1/nativelib/nativeview.c
index 66ae7d413318..66ae7d413318 100644..100755
--- a/embeddedobj/test/Container1/nativelib/nativeview.c
+++ b/embeddedobj/test/Container1/nativelib/nativeview.c
diff --git a/embeddedobj/test/Container1/nativelib/nativeview.h b/embeddedobj/test/Container1/nativelib/nativeview.h
index d50c1855da71..d50c1855da71 100644..100755
--- a/embeddedobj/test/Container1/nativelib/nativeview.h
+++ b/embeddedobj/test/Container1/nativelib/nativeview.h
diff --git a/embeddedobj/test/MainThreadExecutor/exports.dxp b/embeddedobj/test/MainThreadExecutor/exports.dxp
index 9630d7e06768..9630d7e06768 100644..100755
--- a/embeddedobj/test/MainThreadExecutor/exports.dxp
+++ b/embeddedobj/test/MainThreadExecutor/exports.dxp
diff --git a/embeddedobj/test/MainThreadExecutor/makefile.mk b/embeddedobj/test/MainThreadExecutor/makefile.mk
index c94341e6047c..c94341e6047c 100644..100755
--- a/embeddedobj/test/MainThreadExecutor/makefile.mk
+++ b/embeddedobj/test/MainThreadExecutor/makefile.mk
diff --git a/embeddedobj/test/MainThreadExecutor/register.cxx b/embeddedobj/test/MainThreadExecutor/register.cxx
index bdcb1940151e..bdcb1940151e 100644..100755
--- a/embeddedobj/test/MainThreadExecutor/register.cxx
+++ b/embeddedobj/test/MainThreadExecutor/register.cxx
diff --git a/embeddedobj/test/MainThreadExecutor/xexecutor.cxx b/embeddedobj/test/MainThreadExecutor/xexecutor.cxx
index 4dfe59c61d0a..4dfe59c61d0a 100644..100755
--- a/embeddedobj/test/MainThreadExecutor/xexecutor.cxx
+++ b/embeddedobj/test/MainThreadExecutor/xexecutor.cxx
diff --git a/embeddedobj/test/MainThreadExecutor/xexecutor.hxx b/embeddedobj/test/MainThreadExecutor/xexecutor.hxx
index 7bfbbfbefbf1..7bfbbfbefbf1 100644..100755
--- a/embeddedobj/test/MainThreadExecutor/xexecutor.hxx
+++ b/embeddedobj/test/MainThreadExecutor/xexecutor.hxx
diff --git a/embeddedobj/test/mtexecutor/bitmapcreator.cxx b/embeddedobj/test/mtexecutor/bitmapcreator.cxx
index 6327fc7b7d53..6327fc7b7d53 100644..100755
--- a/embeddedobj/test/mtexecutor/bitmapcreator.cxx
+++ b/embeddedobj/test/mtexecutor/bitmapcreator.cxx
diff --git a/embeddedobj/test/mtexecutor/bitmapcreator.hxx b/embeddedobj/test/mtexecutor/bitmapcreator.hxx
index 207bc0977ec6..207bc0977ec6 100644..100755
--- a/embeddedobj/test/mtexecutor/bitmapcreator.hxx
+++ b/embeddedobj/test/mtexecutor/bitmapcreator.hxx
diff --git a/embeddedobj/test/mtexecutor/exports.dxp b/embeddedobj/test/mtexecutor/exports.dxp
index 9630d7e06768..9630d7e06768 100644..100755
--- a/embeddedobj/test/mtexecutor/exports.dxp
+++ b/embeddedobj/test/mtexecutor/exports.dxp
diff --git a/embeddedobj/test/mtexecutor/mainthreadexecutor.cxx b/embeddedobj/test/mtexecutor/mainthreadexecutor.cxx
index a481aed10701..a481aed10701 100644..100755
--- a/embeddedobj/test/mtexecutor/mainthreadexecutor.cxx
+++ b/embeddedobj/test/mtexecutor/mainthreadexecutor.cxx
diff --git a/embeddedobj/test/mtexecutor/mainthreadexecutor.hxx b/embeddedobj/test/mtexecutor/mainthreadexecutor.hxx
index a229666de62f..a229666de62f 100644..100755
--- a/embeddedobj/test/mtexecutor/mainthreadexecutor.hxx
+++ b/embeddedobj/test/mtexecutor/mainthreadexecutor.hxx
diff --git a/embeddedobj/test/mtexecutor/makefile.mk b/embeddedobj/test/mtexecutor/makefile.mk
index fb6c6224b785..fb6c6224b785 100644..100755
--- a/embeddedobj/test/mtexecutor/makefile.mk
+++ b/embeddedobj/test/mtexecutor/makefile.mk
diff --git a/embeddedobj/test/mtexecutor/mteregister.cxx b/embeddedobj/test/mtexecutor/mteregister.cxx
index ee9336e2b6f6..ee9336e2b6f6 100644..100755
--- a/embeddedobj/test/mtexecutor/mteregister.cxx
+++ b/embeddedobj/test/mtexecutor/mteregister.cxx
diff --git a/embeddedobj/util/embobj.component b/embeddedobj/util/embobj.component
new file mode 100755
index 000000000000..e46945dcb7e0
--- /dev/null
+++ b/embeddedobj/util/embobj.component
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org 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 version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.embed.EmbeddedObjectCreator">
+ <service name="com.sun.star.comp.embed.EmbeddedObjectCreator"/>
+ <service name="com.sun.star.embed.EmbeddedObjectCreator"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.embed.OOoEmbeddedObjectFactory">
+ <service name="com.sun.star.comp.embed.OOoEmbeddedObjectFactory"/>
+ <service name="com.sun.star.embed.OOoEmbeddedObjectFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.embed.OOoSpecialEmbeddedObjectFactory">
+ <service name="com.sun.star.comp.embed.OOoSpecialEmbeddedObjectFactory"/>
+ <service name="com.sun.star.embed.OOoSpecialEmbeddedObjectFactory"/>
+ </implementation>
+</component>
diff --git a/embeddedobj/util/exports.dxp b/embeddedobj/util/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644..100755
--- a/embeddedobj/util/exports.dxp
+++ b/embeddedobj/util/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/embeddedobj/util/makefile.mk b/embeddedobj/util/makefile.mk
index d2563fbce1e5..c70009b552ce 100644..100755
--- a/embeddedobj/util/makefile.mk
+++ b/embeddedobj/util/makefile.mk
@@ -85,3 +85,11 @@ $(MISC)$/$(SHL1TARGET).flt: makefile.mk
@echo CLEAR_THE_FILE > $@
@echo __CT >>$@
+
+ALLTAR : $(MISC)/embobj.component
+
+$(MISC)/embobj.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ embobj.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt embobj.component