org.bridj
Class NativeLibrary

java.lang.Object
  extended by org.bridj.NativeLibrary

public class NativeLibrary
extends Object

Representation of a native shared library, with symbols retrieval / matching facilities.
This class is not meant to be used by end users, it's used by pluggable runtimes instead.

Author:
ochafik

Nested Class Summary
static interface NativeLibrary.SymbolAccepter
          Filter for symbols
 
Constructor Summary
protected NativeLibrary(String path, long handle, long symbols)
           
 
Method Summary
protected  void finalize()
           
 Demangler.Symbol getFirstMatchingSymbol(NativeLibrary.SymbolAccepter accepter)
           
 Demangler.Symbol getSymbol(AnnotatedElement member)
           
 Demangler.Symbol getSymbol(long address)
           
 Demangler.Symbol getSymbol(String name)
           
 long getSymbolAddress(String name)
           
 String getSymbolName(long address)
           
 Pointer<?> getSymbolPointer(String name)
           
 Collection<Demangler.Symbol> getSymbols()
           
 boolean isMSVC()
           
static NativeLibrary load(String path)
           
 Demangler.MemberRef parseSymbol(String symbol)
           
 void release()
           
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NativeLibrary

protected NativeLibrary(String path,
                        long handle,
                        long symbols)
                 throws IOException
Throws:
IOException
Method Detail

load

public static NativeLibrary load(String path)
                          throws IOException
Throws:
IOException

finalize

protected void finalize()
                 throws Throwable
Overrides:
finalize in class Object
Throws:
Throwable

release

public void release()

getSymbolPointer

public Pointer<?> getSymbolPointer(String name)

getSymbolAddress

public long getSymbolAddress(String name)

getSymbol

public Demangler.Symbol getSymbol(AnnotatedElement member)
                           throws FileNotFoundException
Throws:
FileNotFoundException

isMSVC

public boolean isMSVC()

getFirstMatchingSymbol

public Demangler.Symbol getFirstMatchingSymbol(NativeLibrary.SymbolAccepter accepter)

getSymbols

public Collection<Demangler.Symbol> getSymbols()

getSymbolName

public String getSymbolName(long address)

getSymbol

public Demangler.Symbol getSymbol(long address)

getSymbol

public Demangler.Symbol getSymbol(String name)

parseSymbol

public Demangler.MemberRef parseSymbol(String symbol)
                                throws Demangler.DemanglingException
Throws:
Demangler.DemanglingException


Copyright © 2009-2012. All Rights Reserved.