# This .cfg file is used to generate the JOAL interface. Include joal-common.cfg Style InterfaceAndImpl JavaClass ALC ImplPackage jogamp.openal ImplJavaClass ALCAbstractImpl AccessControl ALCAbstractImpl PUBLIC_ABSTRACT Extends ALC ALCConstants EmitProcAddressTable true ProcAddressTableClassName ALCProcAddressTable GetProcAddressTableExpr alcProcAddressTable ProcAddressNameExpr LP $UPPERCASE({0}) # Force all of the methods to be emitted using dynamic linking so we # don't need to link against any emulation library on the desktop or # depend on the presence of an import library for a particular device ForceProcAddressGen __ALL__ # Also force the calling conventions of the locally generated function # pointer typedefs for these routines to ALC_APIENTRY LocalProcAddressCallingConvention __ALL__ ALC_APIENTRY Import java.io.UnsupportedEncodingException Import java.util.* Import com.jogamp.openal.* Import jogamp.openal.* Import java.security.PrivilegedAction # Factor out the OpenAL constants into their own interface Ignore ^AL_.+ Ignore ^ALC_.+ # Manually implement alcGetString so we can # implement alcGetString(NULL, ALC_DEVICE_SPECIFIER) in another method ReturnsString alcGetString ManuallyImplement alcGetString # Note that we don't declare this as "ReturnsString" because we're # going to wrap it in another method IncludeAs CustomJavaCode ALC joal-alc-CustomJavaCode.java IncludeAs CustomJavaCode ALCAbstractImpl joal-alcabstract-CustomJavaCode.java # These routines use strings ArgumentIsString alcIsExtensionPresent 1 ArgumentIsString alcOpenDevice 0 # Provide #includes to native code CustomCCode #include "alc.h" IncludeAs CustomCCode joal-common-CustomCCode.c IncludeAs CustomCCode joal-alc-impl-CustomCCode.c