/**************************************************************
 * 
 * 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_cppuhelper.hxx"

// The only purpose of this file is to workaround a problem in UNO:
// Cppumaker and its brethren emit different implementations for
// the same symbol by design (!) which is quite... unfortunate
// and can confuse the heck out of dynamic linkers, debuggers, etc.
//
// For bootstrapping the comprehensive descriptions of some UNO types are needed.
// The mechanism in this file makes sure that these comprehensive type
// descriptions are used to prime the so-called "WeakMap".
//
// TODO: change cppumaker and its brethren to use different symbol names
//       for different implementations. In particular "cppu_detail_getUnoType"
//       should be divided into full, weak and mini implementations.

// Types that are candidates for this special workaround are the ones mentioned
// by the exceptions thrown from implbase_ex.cxx's __queryDeepNoXInterface()
// that also need to added to the makefile's UNOTYPES define

#define cppu_detail_getUnoType cppu_full_getUnoType
#define InitTypeDesc(T) {(void)cppu_full_getUnoType(static_cast< T * >(NULL));}

// NOTE: the cppuhelper part in the include paths below ensures that the type descriptions
// are comprehensive descriptions and not some weak descriptions e.g. from solver
#include "cppuhelper/com/sun/star/lang/XComponent.hpp"
#include "cppuhelper/com/sun/star/lang/XInitialization.hpp"
#include "cppuhelper/com/sun/star/lang/XSingleServiceFactory.hpp"
#include "cppuhelper/com/sun/star/lang/XSingleComponentFactory.hpp"
#include "cppuhelper/com/sun/star/lang/XMultiServiceFactory.hpp"
#include "cppuhelper/com/sun/star/lang/XMultiComponentFactory.hpp"
#include "cppuhelper/com/sun/star/lang/XServiceInfo.hpp"
#include "cppuhelper/com/sun/star/lang/XEventListener.hpp"
#include "cppuhelper/com/sun/star/lang/XTypeProvider.hpp"
#include "cppuhelper/com/sun/star/lang/XUnoTunnel.hpp"
#include "cppuhelper/com/sun/star/lang/DisposedException.hpp"
#include "cppuhelper/com/sun/star/uno/DeploymentException.hpp"
#include "cppuhelper/com/sun/star/uno/XWeak.hpp"
#include "cppuhelper/com/sun/star/uno/XCurrentContext.hpp"
#include "cppuhelper/com/sun/star/uno/XComponentContext.hpp"
#include "cppuhelper/com/sun/star/uno/RuntimeException.hpp"
#include "cppuhelper/com/sun/star/util/XMacroExpander.hpp"
#include "cppuhelper/com/sun/star/beans/PropertyValue.hpp"
#include "cppuhelper/com/sun/star/beans/XPropertySet.hpp"
#include "cppuhelper/com/sun/star/beans/XMultiPropertySet.hpp"
#include "cppuhelper/com/sun/star/container/XEnumerationAccess.hpp"
#include "cppuhelper/com/sun/star/container/XEnumeration.hpp"
#include "cppuhelper/com/sun/star/container/XNameAccess.hpp"
#include "cppuhelper/com/sun/star/container/XNameReplace.hpp"
#include "cppuhelper/com/sun/star/container/XNameContainer.hpp"
#include "cppuhelper/com/sun/star/container/XHierarchicalNameAccess.hpp"
#include "cppuhelper/com/sun/star/container/XSet.hpp"
#include "cppuhelper/com/sun/star/bridge/XUnoUrlResolver.hpp"
#include "cppuhelper/com/sun/star/io/IOException.hpp"
#include "cppuhelper/com/sun/star/io/FilePermission.hpp"
#include "cppuhelper/com/sun/star/security/RuntimePermission.hpp"
#include "cppuhelper/com/sun/star/loader/XImplementationLoader.hpp"
#include "cppuhelper/com/sun/star/security/XAccessController.hpp"
#include "cppuhelper/com/sun/star/registry/XRegistryKey.hpp"
#include "cppuhelper/com/sun/star/registry/XSimpleRegistry.hpp"
#include "cppuhelper/com/sun/star/reflection/XTypeDescription.hpp"
#include "cppuhelper/com/sun/star/reflection/XEnumTypeDescription.hpp"
#include "cppuhelper/com/sun/star/reflection/XArrayTypeDescription.hpp"
#include "cppuhelper/com/sun/star/reflection/XStructTypeDescription.hpp"
#include "cppuhelper/com/sun/star/reflection/XUnionTypeDescription.hpp"
#include "cppuhelper/com/sun/star/reflection/XCompoundTypeDescription.hpp"
#include "cppuhelper/com/sun/star/reflection/XIndirectTypeDescription.hpp"
#include "cppuhelper/com/sun/star/reflection/XInterfaceTypeDescription.hpp"
#include "cppuhelper/com/sun/star/reflection/XInterfaceMemberTypeDescription.hpp"
#include "cppuhelper/com/sun/star/reflection/XInterfaceMethodTypeDescription.hpp"
#include "cppuhelper/com/sun/star/reflection/XMethodParameter.hpp"

void primeWeakMap( void)
{
	InitTypeDesc( com::sun::star::lang::XComponent );
	InitTypeDesc( com::sun::star::lang::XInitialization );
	InitTypeDesc( com::sun::star::lang::XSingleServiceFactory );
	InitTypeDesc( com::sun::star::lang::XSingleComponentFactory );
	InitTypeDesc( com::sun::star::lang::XMultiServiceFactory );
	InitTypeDesc( com::sun::star::lang::XMultiComponentFactory );
	InitTypeDesc( com::sun::star::lang::XServiceInfo );
	InitTypeDesc( com::sun::star::lang::XEventListener );
	InitTypeDesc( com::sun::star::lang::XTypeProvider );
	InitTypeDesc( com::sun::star::lang::XUnoTunnel );
	InitTypeDesc( com::sun::star::lang::DisposedException );
	InitTypeDesc( com::sun::star::uno::XWeak );
	InitTypeDesc( com::sun::star::uno::DeploymentException );
	InitTypeDesc( com::sun::star::uno::XCurrentContext );
	InitTypeDesc( com::sun::star::uno::XComponentContext );
	InitTypeDesc( com::sun::star::uno::RuntimeException );
	InitTypeDesc( com::sun::star::util::XMacroExpander );
	InitTypeDesc( com::sun::star::beans::PropertyState );
	InitTypeDesc( com::sun::star::beans::PropertyValue );
	InitTypeDesc( com::sun::star::beans::XPropertySet );
	InitTypeDesc( com::sun::star::beans::XMultiPropertySet );
	InitTypeDesc( com::sun::star::container::XElementAccess );
	InitTypeDesc( com::sun::star::container::XEnumeration );
	InitTypeDesc( com::sun::star::container::XEnumerationAccess );
	InitTypeDesc( com::sun::star::container::XHierarchicalNameAccess );
	InitTypeDesc( com::sun::star::container::XNameAccess );
	InitTypeDesc( com::sun::star::container::XNameReplace );
	InitTypeDesc( com::sun::star::container::XNameContainer );
	InitTypeDesc( com::sun::star::container::XSet );
	InitTypeDesc( com::sun::star::io::IOException );
	InitTypeDesc( com::sun::star::io::FilePermission );
	InitTypeDesc( com::sun::star::security::XAccessController );
	InitTypeDesc( com::sun::star::security::RuntimePermission);
	InitTypeDesc( com::sun::star::loader::XImplementationLoader );
	InitTypeDesc( com::sun::star::bridge::XUnoUrlResolver );
	InitTypeDesc( com::sun::star::registry::XRegistryKey );
	InitTypeDesc( com::sun::star::registry::XSimpleRegistry );
	InitTypeDesc( com::sun::star::reflection::XTypeDescription );
	InitTypeDesc( com::sun::star::reflection::XEnumTypeDescription );
	InitTypeDesc( com::sun::star::reflection::XArrayTypeDescription );
	InitTypeDesc( com::sun::star::reflection::XStructTypeDescription );
	InitTypeDesc( com::sun::star::reflection::XUnionTypeDescription );
	InitTypeDesc( com::sun::star::reflection::XCompoundTypeDescription );
	InitTypeDesc( com::sun::star::reflection::XIndirectTypeDescription );
	InitTypeDesc( com::sun::star::reflection::XInterfaceTypeDescription );
	InitTypeDesc( com::sun::star::reflection::XInterfaceMemberTypeDescription );
	InitTypeDesc( com::sun::star::reflection::XInterfaceMethodTypeDescription );
	InitTypeDesc( com::sun::star::reflection::XMethodParameter );
}

