diff --git a/lib/colvars/colvarscript.cpp b/lib/colvars/colvarscript.cpp index 86b52ac819824a1496f1f15af2790a5a2bcb5bbd..a43907b07d3f8d41953733e9c4f7e59c13e6169f 100644 --- a/lib/colvars/colvarscript.cpp +++ b/lib/colvars/colvarscript.cpp @@ -14,6 +14,36 @@ colvarscript::colvarscript(colvarproxy *p) { } + +extern "C" { + + // Generic hooks; NAMD and VMD have Tcl-specific versions in the respective proxies + + int run_colvarscript_command(int argc, const char **argv) + { + colvarproxy *cvp = cvm::proxy; + if (!cvp) { + return -1; + } + if (!cvp->script) { + cvm::error("Called run_colvarscript_command without a script object initialized.\n"); + return -1; + } + return cvp->script->run(argc, argv); + } + + const char * get_colvarscript_result() + { + colvarproxy *cvp = cvm::proxy; + if (!cvp->script) { + cvm::error("Called run_colvarscript_command without a script object initialized.\n"); + return ""; + } + return cvp->script->result.c_str(); + } +} + + /// Run method based on given arguments int colvarscript::run(int argc, char const *argv[]) {