[ooo-build-commit] .: 2 commits - patches/dev300 patches/mono

Noel Power noelp at kemper.freedesktop.org
Wed Sep 29 03:02:18 PDT 2010


 patches/dev300/cli-component.diff        |   88 +++++--------------------------
 patches/dev300/cli-mono-common.diff      |   10 ---
 patches/mono/mono-component-support.diff |   75 +++-----------------------
 3 files changed, 28 insertions(+), 145 deletions(-)

New commits:
commit 901d91a10010fce93c8bbd85015512270f2aef82
Author: Noel Power <noel.power at novell.com>
Date:   Wed Sep 29 11:01:35 2010 +0100

    some more comment tweaking and bogus header removal ( fixed build error too )

diff --git a/patches/dev300/cli-component.diff b/patches/dev300/cli-component.diff
index f42ce64..a59d66c 100644
--- a/patches/dev300/cli-component.diff
+++ b/patches/dev300/cli-component.diff
@@ -24,10 +24,10 @@ index 0000000..ef6129e
 +#include "osl/diagnose.h"
 +
 +// The redirectedxxxfunc functions below are to be used with the Managed 
-+// cli bridge. Native code communicating with the cli bridge we cannot control 
++// cli bridge. Native code communicating with the cli bridge does not know 
 +// when the shutdown of the clr runtime occurs, communicating with 
 +// managed code in the (mixed) bridge dll after or during the clr shutdown
-+// results in unexpected results,  unhandled exceptions & unexpected exits.
++// results in... unexpected results ;-) e.g. unhandled exceptions & unexpected exits etc.
 +// The cli bridge inserts the proxyfree, proxyquire, proxyrelease, proxydispatch
 +// as the uno_Interface handlers, proxyfree & friends call the equivelant
 +// redirectedfreefunc & friends handlers.
@@ -41,10 +41,10 @@ index 0000000..ef6129e
 +// #FIXME idealy  Cli_proxy ( see cli_proxy.cxx & cli_proxy.h ) itself should be
 +// modified to be a listener for a shutdown starting message and should
 +// replaces it's own handlers. However the equivelant noop functions still will
-+// need to exist in real native a ( not mixed ) dll ( or at least thats my
++// need to exist in a real native ( e.g. not mixed ) dll ( or at least thats my
 +// experience sofar ). At the same time not sure if there is a better solution
-+// and this rather heavy handed approach I think will work as well ( with little
-+// effort for the moment.
++// and this rather heavy handed ( but simple ) approach will I think work well ( with little
++// effort for the moment ).
 +
 +freefunc redirectedfreefunc = NULL;
 +acquirefunc redirectedacquirefunc = NULL;
@@ -314,7 +314,7 @@ index 88ee3cb..713b378 100644
  
  using namespace System::Runtime::Remoting;
  using namespace System::Runtime::Remoting::Proxies;
-@@ -51,18 +53,60 @@ inline System::String* Cli_environment::createKey(System::String* oid, System::T
+@@ -51,18 +53,61 @@ inline System::String* Cli_environment::createKey(System::String* oid, System::T
      return System::String::Concat(oid, t->get_FullName());
  }
  
@@ -322,8 +322,8 @@ index 88ee3cb..713b378 100644
 +{
 +    OSL_TRACE("about to shutdown");
 +    // Clr shutdown is about to happen, we have to ensure that no 
-+    // code located in this dll cannot be called from native code
-+    // trying to do this in object finalizers etc. is already too late
++    // code located in this dll can be called from native code.
++    // Trying to do this in object finalizers etc. is already too late
 +    // E.g. a static uno reference ( located in native code ) to an object
 +    // object located in this bridge will more than likely when destructing 
 +    // call cli_proxy_release while the clr either cleaning up or already 
@@ -331,7 +331,8 @@ index 88ee3cb..713b378 100644
 +    // Any call from native code into managed code during or after the clr
 +    // shutdown will result in a core ( or undefined behaviour )
 +    // Taking this action might result in some resource leakage but
-+    // thats unavoidable
++    // thats unavoidable :-/ ( #FIXME is there a better way to co-operate
++    // and co-ordinate between the bridge and the clr )
 +    
 +    CallBackHandler::instance().resetHandlers(); 
 +    return 0;
@@ -513,12 +514,15 @@ index e5a9b51..6735733 100644
              (typelib_InterfaceTypeDescription *)m_unoType.get() );
  #if OSL_DEBUG_LEVEL >= 2
          OSL_ASSERT( this == (void const * const)that );
-@@ -947,6 +952,14 @@ inline void CliProxy::release() const
+@@ -947,6 +952,17 @@ inline void CliProxy::release() const
              m_bridge->m_uno_env, const_cast< CliProxy * >( this ) );
      }
  }
 +void CliProxy::setUpProxyHandlers()
 +{
++    // #FIXME - we need to have a mutex protecting
++    // where the proxy handlers are called  &
++    // where the proxy handlers are modified
 +    CallBackHandler& cbHandler = CallBackHandler::instance();
 +    cbHandler.setAcquireHandler( cli_proxy_acquire );
 +    cbHandler.setReleaseHandler( cli_proxy_release );
@@ -868,38 +872,7 @@ new file mode 100644
 index 0000000..2cde26e
 --- /dev/null
 +++ cli_ure/source/cli_loader/makefile.mk
-@@ -0,0 +1,81 @@
-+#*************************************************************************
-+#
-+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+# 
-+# Copyright 2008 by Sun Microsystems, Inc.
-+#
-+# OpenOffice.org - a multi-platform office productivity suite
-+#
-+# $RCSfile: makefile.mk,v $
-+#
-+# $Revision: 1.0 $
-+#
-+# 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.
-+#
-+#*************************************************************************
-+
+@@ -0,0 +1,50 @@
 +PRJ=..$/..
 +
 +PRJNAME=cli_ure
@@ -955,36 +928,7 @@ new file mode 100644
 index 0000000..dd38d85
 --- /dev/null
 +++ cli_ure/source/cli_loader/service.cxx
-@@ -0,0 +1,104 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ * 
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: service.cxx,v $
-+ * $Revision: 1.0 $
-+ *
-+ * 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.
-+ *
-+ ************************************************************************/
+@@ -0,0 +1,75 @@
 +
 +// MARKER(update_precomp.py): autogen include statement, do not remove
 +#include "precompiled_cli_ure.hxx"
diff --git a/patches/dev300/cli-mono-common.diff b/patches/dev300/cli-mono-common.diff
index aca5055..b50c001 100644
--- a/patches/dev300/cli-mono-common.diff
+++ b/patches/dev300/cli-mono-common.diff
@@ -231,7 +231,7 @@ new file mode 100644
 index 0000000..e8b23d6
 --- /dev/null
 +++ cli_ure/source/ure/uno/util/ManagedCodeLoader.cs
-@@ -0,0 +1,197 @@
+@@ -0,0 +1,189 @@
 +using System;
 +using System.Reflection;
 +
@@ -278,14 +278,6 @@ index 0000000..e8b23d6
 +                    m_xMacroExpander = ( unoidl.com.sun.star.util.XMacroExpander )xContext.getValueByName( "/singletons/com.sun.star.util.theMacroExpander" ).Value;
 +                    Console.WriteLine( "#3 got macroexpander ");
 +                }
-+                /* #FIXME there must be a better way of doing this
-+                   1. the Uri.UnescapeDataString is not available
-+                   for mono on sled ( not sure about what later versions on
-+                   other platforms provide
-+                   2. unescape probably won't do exactly what we want
-+                   3. unescape besides being deprecated is protected :-/ hence
-+                      MyCrappyDecoder 
-+                */
 +                // decode uric class chars
 +                String macro = System.Uri.UnescapeDataString( url.Substring( EXPAND_PROTOCOL_PREFIX.Length ).Replace( "+", "%2B" ) );
 +                Console.WriteLine( "#4 decoded url " + macro);
diff --git a/patches/mono/mono-component-support.diff b/patches/mono/mono-component-support.diff
index f61141b..e7dfffe 100644
--- a/patches/mono/mono-component-support.diff
+++ b/patches/mono/mono-component-support.diff
@@ -70,7 +70,7 @@ new file mode 100644
 index 0000000..6fadcd2
 --- /dev/null
 +++ cli_ure/source/mono_loader/makefile.mk
-@@ -0,0 +1,47 @@
+@@ -0,0 +1,53 @@
 +PRJ=..$/..
 +
 +PRJNAME=cli_ure
@@ -82,6 +82,11 @@ index 0000000..6fadcd2
 +COMP1TYPELIST=$(TARGET)
 +COMPRDB=$(SOLARBINDIR)$/types.rdb
 +
++.IF "$(ENABLE_MONO)" != "YES"
++dummy:
++     @echo "Mono binding disabled - skipping ..."
++.ELSE
++
 +# --- Settings -----------------------------------------------------
 +
 +.INCLUDE :  settings.mk
@@ -115,6 +120,7 @@ index 0000000..6fadcd2
 +SHL1DEPN=
 +SHL1LIBS=$(SLB)$/$(TARGET).lib
 +
++.ENDIF
 +# --- Targets ------------------------------------------------------
 +
 +.INCLUDE :	target.mk
commit 96160cde3a4bd9814e84510ddddaba2054c40ed0
Author: Noel Power <noel.power at novell.com>
Date:   Wed Sep 29 10:13:52 2010 +0100

    fix some comments, stip some bogus headers

diff --git a/patches/mono/mono-component-support.diff b/patches/mono/mono-component-support.diff
index 8b14e3d..f61141b 100644
--- a/patches/mono/mono-component-support.diff
+++ b/patches/mono/mono-component-support.diff
@@ -123,7 +123,7 @@ new file mode 100644
 index 0000000..ed090cb
 --- /dev/null
 +++ cli_ure/source/mono_loader/mono_loader.cxx
-@@ -0,0 +1,237 @@
+@@ -0,0 +1,238 @@
 +// MARKER(update_precomp.py): autogen include statement, do not remove
 +#include "precompiled_cli_ure.hxx"
 +#include <comphelper/processfactory.hxx>
@@ -350,7 +350,8 @@ index 0000000..ed090cb
 +        // #FIXME use whatever boiler plate static initialisatioon foo that is 
 +        // available ( seem to recall there is some helpers for that )
 +        // static uno::Reference < lang::XTypeProvider  > xLoader( new MonoLoader( xContext ) );
-+        // hmm lets not do it for now  
++        // hmm lets not do it for now because I'm not sure how an exiting/shutting down office/bridge co-operates 
++        // with the mono runtime or if it does at all :/  
 +        uno::Reference < lang::XTypeProvider  > xLoader( new MonoLoader( xContext ) );
 +        return xLoader;
 +    }
@@ -398,37 +399,7 @@ new file mode 100644
 index 0000000..39eed95
 --- /dev/null
 +++ cli_ure/source/mono_loader/service.cxx
-@@ -0,0 +1,133 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ * 
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: service.cxx,v $
-+ * $Revision: 1.0 $
-+ *
-+ * 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.
-+ *
-+ ************************************************************************/
-+
+@@ -0,0 +1,73 @@
 +// MARKER(update_precomp.py): autogen include statement, do not remove
 +#include "precompiled_cli_ure.hxx"
 +#include "cppuhelper/implementationentry.hxx"
@@ -461,28 +432,6 @@ index 0000000..39eed95
 +        Sequence<Any> const &, Reference<XComponentContext> const & );
 +} // end mono_loader
 +
-+namespace mono_testcomponent
-+{
-+    // =============================================================================
-+    // component operations
-+    // =============================================================================
-+
-+    uno::Reference< XInterface > SAL_CALL create(
-+        Reference< XComponentContext > const & xContext )
-+        SAL_THROW( () );
-+
-+    // -----------------------------------------------------------------------------
-+
-+    ::rtl::OUString SAL_CALL getImplementationName();
-+
-+    Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames();
-+
-+    Reference<XInterface> SAL_CALL create(
-+        Sequence<Any> const &, Reference<XComponentContext> const & );
-+} // end mono_testcomponent
-+
-+
-+
 +    // =============================================================================
 +
 +    const ::cppu::ImplementationEntry s_component_entries [] =
@@ -493,14 +442,6 @@ index 0000000..39eed95
 +            ::cppu::createSingleComponentFactory,
 +            0, 0
 +        },
-+/*
-+        {
-+            ::mono_testcomponent::create, ::mono_testcomponent::getImplementationName,
-+            ::mono_testcomponent::getSupportedServiceNames, 
-+            ::cppu::createSingleComponentFactory,
-+            0, 0
-+        },
-+*/
 +        { 0, 0, 0, 0, 0, 0 }
 +    };
 +


More information about the ooo-build-commit mailing list