Commit ad57a17f authored by Giacomo Fiorin's avatar Giacomo Fiorin
Browse files

Add C-linkage wrapper for colvarscript (useful with ctypes)

parent 9954d5d3
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -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[]) {