00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include <vector>
00012 #include <cstdlib>
00013 #include <stdlib.h>
00014 #include <string.h>
00015
00016 #include "colvarproxy.h"
00017 #include "colvardeps.h"
00018 #include "colvarscript.h"
00019 #include "colvarscript_commands.h"
00020
00021
00022
00023
00024
00025 #define CVSCRIPT_COMM_FN(COMM,N_ARGS_MIN,N_ARGS_MAX,ARGS,FN_BODY) \
00026 int CVSCRIPT_COMM_FNAME(COMM)(void *pobj, \
00027 int objc, unsigned char *const objv[]) \
00028 { \
00029 if (cvm::debug()) { \
00030 cvm::log("Executing script function \""+std::string(#COMM)+"\""); \
00031 } \
00032 colvarscript *script = colvarscript_obj(); \
00033 script->clear_str_result(); \
00034 if (script->check_bias_cmd_nargs(#COMM, \
00035 objc, N_ARGS_MIN, N_ARGS_MAX) != \
00036 COLVARSCRIPT_OK) { \
00037 return COLVARSCRIPT_ERROR; \
00038 } \
00039 if (objc > 1) { \
00040 \
00041 (void) objv; \
00042 } \
00043 colvarbias *this_bias = colvarbias_obj(pobj); \
00044 FN_BODY; \
00045 }
00046 #undef CVSCRIPT
00047 #define CVSCRIPT(COMM,HELP,N_ARGS_MIN,N_ARGS_MAX,ARGS,FN_BODY) \
00048 CVSCRIPT_COMM_FN(COMM,N_ARGS_MIN,N_ARGS_MAX,ARGS,FN_BODY)
00049
00050 #include "colvarscript_commands_bias.h"
00051
00052 #undef CVSCRIPT_COMM_FN
00053 #undef CVSCRIPT