changeset 273:5d46b81696b0

rm unneeded file dwthelper/Loader
author Frank Benoit <benoit@tionex.de>
date Sun, 20 Jul 2008 23:32:34 +0200
parents dd63eb078d7a
children c5847d59c842
files dwt/dwthelper/Loader.d
diffstat 1 files changed, 0 insertions(+), 326 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/dwthelper/Loader.d	Fri Jul 18 05:32:53 2008 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +0,0 @@
-/*****************************************************************************
-
-    license:
-
-    version:
-
-             Dynamic loader for gtk symbol names
-
-    History: 2004-12-11 initial version by John Reimer
-             2005-02-21 class and symbol names change; versioning modification
-             2005-05-05 linux fixes
-             2007-12-23 source cleanup
-             2007-12-30 merge Paths.d into Loader.d
-             2008-01-05 Tango only version using tango.sys.SharedLib
-
-    Note:   Design inspired by Kris Bell's ICU.d, the dynamic loader from
-            an early version of mango
-
-******************************************************************************/
-
-module dwt.dwthelper.Loader;
-
-import dwt.dwthelper.utils;
-
-private import  tango.io.Stdout,
-                tango.sys.SharedLib;
-                
-/*****************************************************************************
-
-*****************************************************************************/
-
-enum LIBRARY
-{
-    ATK,
-    CAIRO,
-    GDK,
-    GDKPIXBUF,
-    GLIB,
-    GMODULE,
-    GOBJECT,
-    GTHREAD,
-    GTK,
-    PANGO,
-    GLGDK,
-    GLGTK,
-    GL,
-    GLU,
-    GLEXT,
-    GDA,
-    GLADE,
-    GSV,
-    GSTREAMER,
-    GSTINTERFACES
-}
-
-/*****************************************************************************
-
-*****************************************************************************/
-
-version (Windows)
-{
-    const String[LIBRARY.max+1] importLibs = [
-        LIBRARY.ATK:            "libatk-1.0-0.dll",
-        LIBRARY.CAIRO:          "libcairo-2.dll",
-        LIBRARY.GDK:            "libgdk-win32-2.0-0.dll",
-        LIBRARY.GDKPIXBUF:      "libgdk_pixbuf-2.0-0.dll",
-        LIBRARY.GLIB:           "libglib-2.0-0.dll",
-        LIBRARY.GMODULE:        "libgmodule-2.0-0.dll",
-        LIBRARY.GOBJECT:        "libgobject-2.0-0.dll",
-        LIBRARY.GTHREAD:        "libgthread-2.0-0.dll",
-        LIBRARY.GTK:            "libgtk-win32-2.0-0.dll",
-        LIBRARY.PANGO:          "libpango-1.0-0.dll",
-        LIBRARY.GLGDK:          "libgdkglext-win32-1.0-0.dll",
-        LIBRARY.GLGTK:          "libgtkglext-win32-1.0-0.dll",
-        LIBRARY.GL:             "opengl32.dll",
-        LIBRARY.GLU:            "glu32.dll",
-        LIBRARY.GDA:            "libgda-2.dll",
-        LIBRARY.GLADE:          "libglade-2.0.dll",
-        LIBRARY.GSV:            "libgtksourceview-1.0-0.dll",
-        LIBRARY.GSTREAMER:      "libgstreamer-0.10.dll",
-        LIBRARY.GSTINTERFACES:  "libgstinterfaces-0.10.dll"
-    ];
-}
-
-/*****************************************************************************
-
-*****************************************************************************/
-
-version(linux)
-{
-    const String[LIBRARY.max+1] importLibs = [
-        LIBRARY.ATK:            "libatk-1.0.so",
-        LIBRARY.CAIRO:          "libcairo.so.2",
-        LIBRARY.GDK:            "libgdk-x11-2.0.so",
-        LIBRARY.GDKPIXBUF:      "libgdk_pixbuf-2.0.so",
-        LIBRARY.GLIB:           "libglib-2.0.so",
-        LIBRARY.GMODULE:        "libgmodule-2.0.so",
-        LIBRARY.GOBJECT:        "libgobject-2.0.so",
-        LIBRARY.GTHREAD:        "libgthread-2.0.so",
-        LIBRARY.GTK:            "libgtk-x11-2.0.so",
-        LIBRARY.PANGO:          "libpango-1.0.so",
-        LIBRARY.GLGDK:          "libgdkglext-x11-1.0.so",
-        LIBRARY.GLGTK:          "libgtkglext-x11-1.0.so",
-        LIBRARY.GL:             "libGL.so",
-        LIBRARY.GLU:            "libGLU.so",
-        LIBRARY.GLEXT:          "libGL.so",
-        LIBRARY.GDA:            "libgda-2.so.3",
-        LIBRARY.GLADE:          "libglade-2.0.so",
-        LIBRARY.GSV:            "libgtksourceview-1.0.so",
-        LIBRARY.GSTREAMER:      "libgstreamer-0.10.so",
-        LIBRARY.GSTINTERFACES:  "libgstinterfaces-0.10.so"
-    ];
-}
-
-/*****************************************************************************
-
-    getLibraryPath -- place holder for future expansion
-
-******************************************************************************/
-
-
-version(Windows)
-{
-    String getLibraryPath()
-    {
-            return "\\Program Files\\GTK2-Runtime\\lib\\";
-    }
-}
-
-/*****************************************************************************
-
-    getLibraryPath is empty for linux because default path is known by ld
-
-******************************************************************************/
-
-version(linux)
-{
-    String getLibraryPath() { return ""; }
-}
-
-/*****************************************************************************
-
-    ProcLink is used to record the library, function, and function name
-    that will be loaded by the dynamic loader.
-
-******************************************************************************/
-
-public struct Symbol
-{
-    String  name;
-    void**  pointer;
-}
-
-/*****************************************************************************
-
-    The Linker class: handles loading of the library and exported functions
-
-******************************************************************************/
-
-public class Linker
-{
-    static String[][String] loadFailures;
-
-    /*************************************************************************
-
-        Gets all the failed loads for a specific library.  This is filled in
-        only if the default onFailure method is used during load.
-
-        returns: an array of the names that failed to load for a specific
-        library or null if none was found.
-
-    **************************************************************************/
-
-    public static String[] getLoadFailures(String libName)
-    {
-        if ( libName in loadFailures )
-        {
-            return loadFailures[libName];
-        }
-        else
-        {
-            return null;
-        }
-    }
-
-    /*************************************************************************
-
-        Loads all libraries. This is filled in only if the default onFailure
-        method is used during load.
-
-        returns: an array of the library names.
-
-    **************************************************************************/
-
-    public static String[] getLoadLibraries()
-    {
-        return loadFailures.keys;
-    }
-
-    /*************************************************************************
-
-        isPerfectLoad -- Checks if any symbol failed to load.
-        Returns: true if ALL symbols loaded.
-
-    **************************************************************************/
-
-    public static bool isPerfectLoad()
-    {
-        return loadFailures.keys.length == 0;
-    }
-
-    /*************************************************************************
-
-    **************************************************************************/
-
-    public static void dumpFailedLoads()
-    {
-        foreach ( String lib ; Linker.getLoadLibraries() )
-        {
-            foreach ( String symbol ; Linker.getLoadFailures(lib) )
-            {
-                version(Tango)
-                    Stdout.formatln("failed ({}) {}", lib, symbol).newline;
-            }
-        }
-    }
-
-    /*************************************************************************
-
-    **************************************************************************/
-
-    private SharedLib primaryLib;
-    private SharedLib alternateLib;
-
-    private String  libraryName;
-    private String  alternateLibraryName;
-
-    alias void function( String libraryName, String symbolName, String message=null) FailureCallback;
-
-    private FailureCallback onLoadFailure;
-
-    /*************************************************************************
-
-    **************************************************************************/
-
-    this( String libraryName, String alternateLibraryName=null )
-    {
-        this(libraryName, alternateLibraryName, &(Linker.defaultFail));
-    }
-
-    /*************************************************************************
-
-    **************************************************************************/
-
-    this (String libraryName, String alternateLibraryName, FailureCallback fn )
-    {
-        this.libraryName = libraryName;
-        this.alternateLibraryName = alternateLibraryName;
-        onLoadFailure = fn;
-
-        SharedLib.throwExceptions = false;
-
-        primaryLib = SharedLib.load( this.libraryName );
-        
-        version(linux)
-        {
-            if (this.primaryLib is null)
-                primaryLib = SharedLib.load( this.libraryName ~ ".0\0" );
-        }
-            
-        if ( alternateLibraryName !is null )
-        {
-            alternateLib = SharedLib.load( this.alternateLibraryName );
-        }
-        
-        if (primaryLib is null)
-        {
-            throw new Exception("Library load failed: " ~ libraryName);
-        }
-    }
-
-    /*************************************************************************
-
-        Default load failure callback. Logs the symbols that failed to load.
-
-    **************************************************************************/
-
-    static void defaultFail( String libraryName, String symbolName, String message=null )
-    {
-        if ( !(libraryName in loadFailures) )
-        {
-            String[] cc;
-            loadFailures[libraryName] = cc;
-        }
-
-        loadFailures[libraryName] ~= symbolName.dup;
-    }
-
-    /*************************************************************************
-
-        Loads all the symbols for this library.
-
-    **************************************************************************/
-
-    void link( inout Symbol[] symbols )
-    {
-        foreach( Symbol link; symbols )
-        {
-            *link.pointer = primaryLib.getSymbol ( (link.name~"\0").ptr);
-
-            if (*link.pointer is null)
-            {
-                if ( alternateLib !is null )
-                {
-                    *link.pointer = alternateLib.getSymbol( (link.name~"\0").ptr);
-                    Stdout("Loader.Linker.link trying alternate lib: ", link.name).newline;
-                }
-                if (*link.pointer is null)
-                {
-                    onLoadFailure( libraryName, link.name );
-                }
-            }
-        }
-    }
-
-}