| Line 15... |
Line 15... |
| 15 |
* You should have received a copy of the GNU Lesser General Public License
|
15 |
* You should have received a copy of the GNU Lesser General Public License
|
| 16 |
* along with this program; if not, a copy is available at
|
16 |
* along with this program; if not, a copy is available at
|
| 17 |
* http://www.r-project.org/Licenses/
|
17 |
* http://www.r-project.org/Licenses/
|
| 18 |
*/
|
18 |
*/
|
| 19 |
|
19 |
|
| - |
|
20 |
/*
|
| - |
|
21 |
Not part of the API, subject to change at any time.
|
| - |
|
22 |
*/
|
| - |
|
23 |
|
| 20 |
#ifndef R_CALLBACKS_H
|
24 |
#ifndef R_CALLBACKS_H
|
| 21 |
#define R_CALLBACKS_H
|
25 |
#define R_CALLBACKS_H
|
| 22 |
|
26 |
|
| 23 |
/**
|
27 |
/**
|
| 24 |
These structures are for C (and R function) top-level task handlers.
|
28 |
These structures are for C (and R function) top-level task handlers.
|
| Line 60... |
Line 64... |
| 60 |
SEXP R_removeTaskCallback(SEXP which);
|
64 |
SEXP R_removeTaskCallback(SEXP which);
|
| 61 |
R_ToplevelCallbackEl* Rf_addTaskCallback(R_ToplevelCallback cb, void *data, void (*finalizer)(void *), const char *name, int *pos);
|
65 |
R_ToplevelCallbackEl* Rf_addTaskCallback(R_ToplevelCallback cb, void *data, void (*finalizer)(void *), const char *name, int *pos);
|
| 62 |
|
66 |
|
| 63 |
|
67 |
|
| 64 |
|
68 |
|
| 65 |
/**
|
69 |
/*
|
| 66 |
The following definitions are for callbacks to R functions and methods
|
70 |
The following definitions are for callbacks to R functions and
|
| 67 |
related to user-level tables. This is currently implemented in a
|
71 |
methods related to user-level tables. This was implemented in a
|
| 68 |
separate package and these declarations allow the package to
|
72 |
separate package on Omegahat and these declarations allow the package
|
| 69 |
interface to the internal R code.
|
73 |
to interface to the internal R code.
|
| 70 |
|
74 |
|
| 71 |
See http://developer.r-project.org/RObjectTables.pdf.
|
75 |
See http://developer.r-project.org/RObjectTables.pdf,
|
| - |
|
76 |
http://www.omegahat.org/RObjectTables/
|
| 72 |
*/
|
77 |
*/
|
| 73 |
|
78 |
|
| 74 |
typedef struct _R_ObjectTable R_ObjectTable;
|
79 |
typedef struct _R_ObjectTable R_ObjectTable;
|
| 75 |
|
80 |
|
| 76 |
/* Do we actually need the exists() since it is never called but R uses get to see if
|
81 |
/* Do we actually need the exists() since it is never called but R
|
| 77 |
the symbol is bound to anything? */
|
82 |
uses get to see if the symbol is bound to anything? */
|
| 78 |
typedef Rboolean (*Rdb_exists)(const char * const name, Rboolean *canCache, R_ObjectTable *);
|
83 |
typedef Rboolean (*Rdb_exists)(const char * const name, Rboolean *canCache, R_ObjectTable *);
|
| 79 |
typedef SEXP (*Rdb_get)(const char * const name, Rboolean *canCache, R_ObjectTable *);
|
84 |
typedef SEXP (*Rdb_get)(const char * const name, Rboolean *canCache, R_ObjectTable *);
|
| 80 |
typedef int (*Rdb_remove)(const char * const name, R_ObjectTable *);
|
85 |
typedef int (*Rdb_remove)(const char * const name, R_ObjectTable *);
|
| 81 |
typedef SEXP (*Rdb_assign)(const char * const name, SEXP value, R_ObjectTable *);
|
86 |
typedef SEXP (*Rdb_assign)(const char * const name, SEXP value, R_ObjectTable *);
|
| 82 |
typedef SEXP (*Rdb_objects)(R_ObjectTable *);
|
87 |
typedef SEXP (*Rdb_objects)(R_ObjectTable *);
|