From 648161bb0edfc3d43db63caed5cc5213bc6cb78f Mon Sep 17 00:00:00 2001 From: The Android Open Source Project Date: Tue, 3 Mar 2009 18:28:41 -0800 Subject: auto import from //depot/cupcake/@135843 --- WebCore/platform/mac/SoftLinking.h | 119 ------------------------------------- 1 file changed, 119 deletions(-) delete mode 100644 WebCore/platform/mac/SoftLinking.h (limited to 'WebCore/platform/mac/SoftLinking.h') diff --git a/WebCore/platform/mac/SoftLinking.h b/WebCore/platform/mac/SoftLinking.h deleted file mode 100644 index ce72f34..0000000 --- a/WebCore/platform/mac/SoftLinking.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (C) 2007 Apple Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import -#import - -#define SOFT_LINK_LIBRARY(lib) \ - static void* lib##Library() \ - { \ - static void* dylib = dlopen("/usr/lib/" #lib ".dylib", RTLD_NOW); \ - ASSERT(dylib); \ - return dylib; \ - } - -#define SOFT_LINK_FRAMEWORK(framework) \ - static void* framework##Library() \ - { \ - static void* frameworkLibrary = dlopen("/System/Library/Frameworks/" #framework ".framework/" #framework, RTLD_NOW); \ - ASSERT(frameworkLibrary); \ - return frameworkLibrary; \ - } - -#define SOFT_LINK(framework, functionName, resultType, parameterDeclarations, parameterNames) \ - static resultType init##functionName parameterDeclarations; \ - static resultType (*softLink##functionName) parameterDeclarations = init##functionName; \ - \ - static resultType init##functionName parameterDeclarations \ - { \ - softLink##functionName = (resultType (*) parameterDeclarations) dlsym(framework##Library(), #functionName); \ - ASSERT(softLink##functionName); \ - return softLink##functionName parameterNames; \ - }\ - \ - inline resultType functionName parameterDeclarations \ - {\ - return softLink##functionName parameterNames; \ - } - -#define SOFT_LINK_CLASS(framework, className) \ - static Class init##className(); \ - static Class (*get##className##Class)() = init##className; \ - static Class class##className; \ - \ - static Class className##Function() \ - { \ - return class##className; \ - }\ - \ - static Class init##className() \ - { \ - framework##Library(); \ - class##className = objc_getClass(#className); \ - ASSERT(class##className); \ - get##className##Class = className##Function; \ - return class##className; \ - } - -#define SOFT_LINK_POINTER(framework, name, type) \ - static type init##name(); \ - static type (*get##name)() = init##name; \ - static type pointer##name; \ - \ - static type name##Function() \ - { \ - return pointer##name; \ - }\ - \ - static type init##name() \ - { \ - void** pointer = static_cast(dlsym(framework##Library(), #name)); \ - ASSERT(pointer); \ - pointer##name = static_cast(*pointer); \ - get##name = name##Function; \ - return pointer##name; \ - } - -#define SOFT_LINK_CONSTANT(framework, name, type) \ - static type init##name(); \ - static type (*get##name)() = init##name; \ - static type constant##name; \ - \ - static type name##Function() \ - { \ - return constant##name; \ - }\ - \ - static type init##name() \ - { \ - void* constant = dlsym(framework##Library(), #name); \ - ASSERT(constant); \ - constant##name = *static_cast(constant); \ - get##name = name##Function; \ - return constant##name; \ - } -- cgit v1.1