Mercurial > pub > dyncall > bindings
view R/rdyncall/R/dynload.R @ 2:a27ef6fdc275
- assume dyncall dir is next to maintainers'
author | cslag |
---|---|
date | Thu, 31 Dec 2015 20:20:18 +0100 |
parents | 0cfcc391201f |
children |
line wrap: on
line source
# Package: rdyncall # File: R/dyncall.R # Description: R bindings for dynload library .dynload <- function(libname, auto.unload=TRUE) { libname <- as.character(libname) stopifnot( is.character(libname) ) libh <- .Call("dynload", libname, PACKAGE="rdyncall") if (!is.null(libh)) { attr(libh, "path") <- libname attr(libh, "auto.unload") <- auto.unload if (auto.unload) reg.finalizer(libh, .dynunload) } libh } .dynunload <- function(libhandle) { if (!is.externalptr(libhandle)) stop("libhandle argument must be of type 'externalptr'") .Call("dynunload", libhandle, PACKAGE="rdyncall") } .dynsym <- function(libhandle, symname, protect.lib=TRUE) { if (!is.externalptr(libhandle)) stop("libh argument must be of type 'externalptr'") .Call("dynsym", libhandle, as.character(symname), as.logical(protect.lib), PACKAGE="rdyncall") }