Warning, /education/cantor/src/backends/R/DESIGN is written in an unsupported language. File is not indexed.
0001 This backend integrates the R environment into Cantor. 0002 0003 The design of the R backend is different from the other backends: 0004 As R offers a C API, there is no necesity for parsing output. 0005 As the R API is not thread-save and to not let the backend freeze 0006 Cantors ui, the backend is implemented as 2 parts: 0007 0008 - The RServer: 0009 This is a separate application, that uses the R-API to run commands, 0010 and exposes it's functionality over DBUS 0011 0012 - The R backend: 0013 This implements the Cantor interfaces, and starts the RServer. It delivers 0014 the commands to the server over DBUS, and connects to it's signals to get 0015 the result. 0016 0017 To embed plots, the RServer creates a png paint device, and checks if it gets 0018 changed while a computation is running. If so, the url of the png is delivered 0019 as result, and a new png-device is created, with a new temporary file. 0020 (NOTE: instead of png, eps should be used, but there were some problems when I first 0021 tried) 0022 0023 The Code to access the R-API is heavily based on the RInside library 0024 by Dirk Eddelbuettel, see http://dirk.eddelbuettel.com/code/rinside.html